MOA网站地址:http://moa.cs.waikato.ac.nz/
摘要:本文对MOA(Massive Online Analysis)的官方网站内容及MOA项目代码结构进行分析。截至2014年9月20日,MOA的最新版本是Release 2014.04,需要Weka3.7以上版本的支持。文章根据网站的一级标题、二级标题、三级标题进行逐级分析。
关键字:MOA;网站结构;Weka
Weka软件(Waikato Environment for Knowledge Analysis)具有一套用于数据挖掘任务的机器学习算法,这些算法既可以直接应用于一个数据集,也可以由我们自己编写的Java代码调用。Weka包含用于数据预处理、分类、回归、聚类、关联原则以及可视化的工具,它也适用于开发新的机器学习机制[1]。当在Java项目中装载好Weka.jar、Weka-src.jar之后,就可以继承Weka中现有的类开始编写新的算法。
MOA[2]是Massive Online Analysis的缩写,它是基于Weka的一个项目,提供挖掘数据流的环境,由Weka的机器学习组(MachineLearning Group)开发研究,属于COSI(center for open software innovation,Waikato大学在计算机科学理论和实践方面的领军研究中心)支持的项目。MOA是最流行的数据流挖掘开源方法,有非常活跃的社区(blog[3])。MOA具有一系列机器学习算法(分类、回归、聚类、离群检测及推荐系统)和评价工具。与Weka相似的,MOA也是用java语言编写的。
MOA官方主页为:http://moa.cms.waikato.ac.nz/,主要包括Download、Overview、Details、Blog、Extensions、Team、Datasets七个主目录。另外,在主页的下方提供了一些下载、文档、帮助等的快捷入口。下面,我们从七个方面,对MOA做简要的分析。
1 Downloads
此页面提供MOA相关软件和文档下载,具体情况介绍如下:
(1)相应软件
最新的MOA版本是MOA Release 2014.04,网站提供了插件下载地址。此外,还提供了其他扩展软件的下载页面,以及MOA源码仓库(Mercurial仓库)[4][5]。
(2)之前版本
之前使用的版本主要包括:
MOA Release 2013.11;
MOA Release 2013.08;
MOA Release 2012.08;
MOA Release 2012.03;
MOA Release 2011.10。
(3)Maven集成
可以将MOA纳入maven项目管理,通过在项目的pom.xml文件中添加如下依赖:
<dependency>
<groupId>nz.ac.waikato.cms.moa</groupId>
<artifactId>moa</artifactId>
<version>2014.04</version>
</dependency>
(4)教程
教程主要包括对MOA的介绍、对MOA文档的介绍、对MOA聚类的介绍以及对ADAMS和MOA的介绍。其中,对MOA的介绍是在2012年3月编写的,主要介绍如何启动MOA的图形界面并说明图形界面各部分的功能、分类图形用户接口、命令行使用方法、对前文的练习题给出简单的答案。对MOA文档的介绍是在2012年3月编写的,主要给出使用API的简单例子程序,并详细说明了编写一个新分类器的方法,并附有代码说明。对MOA聚类的介绍是在2013年10月编写的,主要介绍了、数据流聚类的设置方法、如何微调自己的流聚类方法、如何比较2种数据流算法。对ADMAS和MOA是在2012年11月编写的。
(5)文档
给出视频介绍、说明文档及用户手册。MOA Data Stream Mining文档主要介绍了挖掘数据流的相关算法,MOA Manual文档主要介绍了用户使用MOA界面的手册。
(6)API
这是MOA项目API的连接地址。
2 Overview
这一部分是对MOA的一个概述内容,主要包括使用MOA和MOA与Weka的交互性。
MOA是Weka相关的项目,使用Java编写,可进一步扩展以解决更多问题。MOA的目标是给挖掘数据流内容的实验提供一个标准方法,它提供了三方面的功能:可存储(真实和合成)数据流的设置,便于重复实验;比较一系列著作中的现有算法和方法;为新的流、算法和评价方法提供一个简单的可扩展框架。
2.1 启动MOA
网站二级标目录,这一部分讲述了MOA的启动和使用过程,具体过程如下所示:
1.