数据挖掘-WAKA实验报告 数据挖掘-WAKA 实验报告
数据挖掘-WAKA实验报告 一、WEKA软件简介
在我所从事的证券行业中,存在着海量的信息和数据,但是这些数据日常知识发挥了一小部分的作用,其包含了大量的隐性的信息并不为所用,但是却可以为一些公司的决策和对客户的服务提供不小的价值。因此,我们可以通过一些数据采集、数据挖掘来获得潜在的有价值的信息。
数据挖掘就是通过分析存在于数据库里的数据来解决问题。在数据挖掘中计算机以电子化的形式存储数据,并且能自动的查询数据,通过关联规则、分类于回归、聚类分析等算法对数据进行一系列的处理,寻找和描述数据里的结构模式,进而挖掘出潜在的有用的信息。数据挖掘就是通过分析存在于数据库里的数据来解决问题。WEKA的出现让我们把数据挖掘无需编程即可轻松搞定。
WEKA是由新西兰怀卡托大学开发的开源项目,全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)。WEKA是由JAVA编写的,它的源代码可通过http://www.cs.waikato.ac.nz/ml/WEKA得到,并且限制在GBU通用公众证书的条件下发布,可以运行在所有的操作系统中。是一款免费的,非商业化的机器学习以及数据挖掘软件
WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。如果想自己实现数据挖掘算法的话,可以看一看WEKA的接口文档。在WEKA中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。
安装WEKA也十分简单,首相要下载安装JDK环境,JDK在这个页面可以找到它的下载http://java.sun.com/javase/downloads/index.jsp。点击JDK 6之后的
Download按钮,转到下载页面。选择Accepct,过一会儿页面会刷新。我们需要的是这个Windows Offline Installation, Multi-language jdk-6-windows-i586.exe 53.16 MB ,点击它下载。也可以右键点击它上面的链接,在Flashget等工具中下载。安装它和一般软件没什么区别。不过中间会中断一下提示你安装JRE,一并装上即可。之后就是安装WEKA软件,这个在网上很多地方都有。同样简单地按默认方法安装后即可使用。
点击启动运行WEKA软件后,我门发现WEKA存储数据的格式是ARFF 数据挖掘-WAKA实验报告
(Attribute-Relation File Format)文件,这是一种ASCII文本文件。我们如图1通过软件的Tools菜单进入ArffViewer可以在安装目录下查看软件自带的几个ARFF文件。 图1 图2
数据挖掘-WAKA实验报告
如图2,打开文件后选择data自目录下的任意一张表,我们都可以看到如图3所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的
“contact-lenses.arff”文件。这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有22个实例,5个属性,关系名称为“contact-lenses”。
除了ARFF格式,WEKA还支持另外一种常见格式,CSV格式。CSV同样是一种二进制保存的文本格式,我们可以在WEKA中直接打开CSV格式的文件,并
保存为ARFF格式。这样就给我提供了把常见的数据格式转换为ARFF格式的方法,如对于Excel文件,我们可以通过把每张表保存为CSV格式,进而保存为ARFF格式,与此同时,我们可以利用filter对数据进行相应的预处理。而对于Matlab格式的数据,我们可以通过命令csvwrite把数据转化成CSV格式的文件,进而转化为ARFF格式文件。对于海量数据,一般保存在数据库中,WEKA同时支持JDBC访问数据库。 图3
数据挖掘-WAKA实验报告
打开WEKA,首先出现一个命令行窗口。原以为要在这个命令行下写java语句呢,不过稍等一秒,WEKA GUI Chooser的出现了。这是一个很简单的窗体,提供四个按钮:Simple CLI、Explorer、Experimenter、KnowledgeFlow。Simple CLI应该是一个使用命令行的界面,有点像SAS的编辑器;Explorer是则是视窗模式下的数据挖掘工具;Experimenter和KnowledgeFlow的使用有待进一步摸索.... 图4
(1) Explorer
使用 WEKA 探索数据的环境。在这个环境中,WEKA提供了数据的预处理,数据格式的转化(从CSV格式到ARFF格式的转化),各种数据挖掘算法(包括分类与回归算法,聚类算法,关联规则等),并提供了结果的可视化工具。对于一个数据集,通过简单的数据的预处理,并对数据挖掘算法进行选择(在
WEKA3.5版本之后,加入了算法的过滤功能,可以过滤掉那些不适合当前数据集类型的算法),接着通过窗口界面对算法的参数进行配置。可视化工具分为对
数据集的可视化和对部分结果的可视化,并且我们可以通过属性选择工具(Select Attribute),通过搜索数据集中所有属性的可能组合,找出预测效果最好的那一组属性。
Explorer是普通用户最常用的一个界面。用户可以从ARFF文件(Weka使用的一种文本文件格式)、网页或数据库中读取数据集。打开数据文件后,可以选择算法对数据进行预处理。这时窗体上给出了这个数据集的一些基本特征,如含有多少属性,各属性的一些简单统计量,右下方还给出一些可视化效果图。这些都是比较直观的分析,如果想发现隐藏在数据集背后的关系,还需要选择
Weka
数据挖掘-WAKA实验报告
提供的各种分类、聚类或关联规则的算法。所有设置完成后,点击Start按钮,就可以安心地等待weka带来最终的结果。哪些结果是真正有用的还要靠经验来判断。
(2)Experimenter
运行算法试验、管理算法方案之间的统计检验的环境。Experiment环境可以让用户创建,运行,修改和分析算法试验,这也许比单独的分析各个算法更加方便。例如,用户可创建一次试验,在一系列数据集上运行多个算法(schemes),然后分析结果以判断是否某个算法比其他算法(在统计意义下)更好。
Explorermenter主要包括简单模式,复杂模式和远程模式。复杂模式是对简单模式的基本功能的扩充,而远程模式允许我们通过分布式的方法进行实验。 就功能模块而言,分为设置模块,运行模块和分析模块。在设置模块中我们可以自定义实验,加入多个算法和多方的源数据(支持ARFF文件,CSV文件和数据库),在运行模块中我们可以运行我们的实验,而在分析模块中,我们可以分析各种算法的的准确性,并提供了各种统计方法对结果进行检验比较。
值得一提的是,我们可以把实验的各种参数,包括算法,数据集等,保存以方便下一次相同实验的进行;也可以把各种算法保存,方便应用在不同的数据集上;如果数据集来源于数据库的话,实验在过程中可以中止并继续(原因可以是被中