数据挖掘工具Weka教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据挖掘工具WEKA教程广东外语外贸大学杜剑峰WEKA教程1.WEKA简介2.数据格式3.数据准备4.属性选择5.可视化分析6.分类预测7.关联分析8.聚类分析9.扩展WEKA课程的总体目标和要求:熟悉WEKA的基本操作,了解WEKA的各项功能掌握数据挖掘实验的流程准备数据选择算法和参数运行评估实验结果了解或掌握在WEKA中加入新算法的方法1、WEKA简介WEKA的全名是怀卡托智能分析环境(WaikatoEnvironmentforKnowledgeAnalysis),其源代码可从得到。同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。2005年8月,在第11届ACMSIGKDD国际会议上,怀卡托大学的WEKA小组荣获了数据挖掘和知识探索领域的最高服务奖,WEKA系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一。WEKA的每月下载次数已超过万次。1、WEKA简介(续)作为一个大众化的数据挖掘工作平台,WEKA集成了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联分析以及在新的交互式界面上的可视化等等。通过其接口,可在其基础上实现自己的数据挖掘算法。WEKA的界面2、数据格式WEKA所用的数据格式(跟Excel一样)Explorer界面Openfile…Edit…2、数据格式(续)WEKA文件相关术语表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attribute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。上图中一共有14个实例,5个属性,关系名称为“weather”。WEKA存储数据的格式是ARFF(Attribute-RelationFileFormat)文件,这是一种ASCII文本文件。上图所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。2、数据格式(续)文件内容说明识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行,是没有影响的。除去注释后,整个ARFF文件可以分为两个部分。第一部分给出了头信息(Headinformation),包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Datainformation),即数据集中给出的数据。从“@data”标记开始,后面的就是数据信息了。2、数据格式(续)关系声明关系名称在ARFF文件的第一个有效行来定义,格式为@relationrelation-namerelation-name是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。2、数据格式(续)属性声明属性声明用一列以“@attribute”开头的语句表示。数据集中的每一个属性都有它对应的“@attribute”语句,来定义它的属性名称和数据类型。这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如,“humidity”是第三个被声明的属性,这说明数据部分那些被逗号分开的列中,第三列数据85908696...是相应的“humidity”值。其次,最后一个声明的属性被称作class属性,在分类或回归任务中,它是默认的目标变量。属性声明的格式为@attributeattribute-namedatatype其中attribute-name是必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。2、数据格式(续)WEKA支持的datatype有四种numeric数值型nominal-specification标称(nominal)型string字符串型date[date-format]日期和时间型其中nominal-specification和date-format将在下面说明。还可以使用两个类型“integer”和“real”,但是WEKA把它们都当作“numeric”看待。注意“integer”,“real”,“numeric”,“date”,“string”这些关键字是区分大小写的,而“relation”、“attribute”和“data”则不区分。2、数据格式(续)数值属性数值型属性可以是整数或者实数,但WEKA把它们都当作实数看待。标称属性标称属性由nominal-specification列出一系列可能的类别名称并放在花括号中:{nominal-name1,nominal-name2,nominal-name3,...}。数据集中该属性的值只能是其中一种类别。例如如下的属性声明说明“outlook”属性有三种类别:“sunny”,“overcast”和“rainy”。而数据集中每个实例对应的“outlook”值必是这三者之一。@attributeoutlook{sunny,overcast,rainy}如果类别名称带有空格,仍需要将之放入引号中。2、数据格式(续)字符串属性字符串属性中可以包含任意的文本。这种类型的属性在文本挖掘中非常有用。示例:@ATTRIBUTELCCstring日期和时间属性日期和时间属性统一用“date”类型表示,它的格式是@attributenamedate[date-format]其中name是这个属性的名称,date-format是一个字符串,来规定该怎样解析和显示日期或时间的格式,默认的字符串是ISO-8601所给的日期时间组合格式“yyyy-MM-ddTHH:mm:ss”。数据信息部分表达日期的字符串必须符合声明中规定的格式要求(下文有例子)。2、数据格式(续)数据信息数据信息中“@data”标记独占一行,剩下的是各个实例的数据。每个实例占一行。实例的各属性值用逗号“,”隔开。如果某个属性的值是缺失值(missingvalue),用问号“?”表示,且这个问号不能省略。例如:@datasunny,85,85,FALSE,no?,78,90,?,yes2、数据格式(续)字符串属性和标称属性的值是区分大小写的。若值中含有空格,必须被引号括起来。例如:@relationLCCvsLCSH@attributeLCCstring@attributeLCSHstring@dataAG5,'Encyclopediasanddictionaries.;Twentiethcentury.'AS262,'Science--SovietUnion--History.'2、数据格式(续)日期属性的值必须与属性声明中给定的相一致。例如:@RELATIONTimestamps@ATTRIBUTEtimestampDATEyyyy-MM-ddHH:mm:ss@DATA2001-04-0312:12:122001-05-0312:59:553、数据准备数据文件格式转换使用WEKA作数据挖掘,面临的第一个问题往往是我们的数据不是ARFF格式的。幸好,WEKA还提供了对CSV文件的支持,而这种格式是被很多其他软件,比如Excel,所支持的。现在我们打开“bank-data.csv”。利用WEKA可以将CSV文件格式转化成ARFF文件格式。ARFF格式是WEKA支持得最好的文件格式。此外,WEKA还提供了通过JDBC访问数据库的功能。“Explorer”界面“Explorer”提供了很多功能,是WEKA使用最多的模块。现在我们先来熟悉它的界面,然后利用它对数据进行预处理。3、数据准备(续)bank-data数据各属性的含义如下:id:auniqueidentificationnumberage:ageofcustomerinyears(numeric)sex:MALE/FEMALEregion:inner_city/rural/suburban/townincome:incomeofcustomer(numeric)married:isthecustomermarried(YES/NO)children:numberofchildren(numeric)car:doesthecustomerownacar(YES/NO)save_act:doesthecustomerhaveasavingaccount(YES/NO)current_act:doesthecustomerhaveacurrentaccount(YES/NO)mortgage:doesthecustomerhaveamortgage(YES/NO)pep:didthecustomerbuyaPEP(PersonalEquityPlan,个人参股计划)afterthelastmailing(YES/NO)123456783、数据准备(续)上图显示的是“Explorer”打开“bank-data.csv”的情况。我们根据不同的功能把这个界面分成8个区域。1.区域1的几个选项卡是用来切换不同的挖掘任务面板。这一节用到的只有“Preprocess”,其他面板的功能将在以后介绍。2.区域2是一些常用按钮。包括打开数据,保存及编辑功能。我们可以在这里把“bank-data.csv”另存为“bank-data.arff”。3.在区域3中“Choose”某个“Filter”,可以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。4.区域4展示了数据集的一些基本情况。3、数据准备(续)5.区域5中列出了数据集的所有属性。勾选一些属性并“Remove”就可以删除它们,删除后还可以利用区域2的“Undo”按钮找回。区域5上方的一排按钮是用来实现快速勾选的。在区域5中选中某个属性,则区域6中有关于这个属性的摘要。注意对于数值属性和标称属性,摘要的方式是不一样的。图中显示的是对数值属性“income”的摘要。6.区域7是区域5中选中属性的直方图。若数据集的最后一个属性(这是分类或回归任务的默认目标变量)是类标变量(这里的“pep”正好是),直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。要想换个分段的依据,在区域7上方的下拉框中选个不同的分类属性就可以了。下拉框里选上“NoClass”或者一个数值属性会变成黑白的直方图。7.区域8是状态栏,可以查看Log以判断是否有错。右边的weka鸟在动的话说明WEKA正在执行挖掘任务。右键点击状态栏还可以执行JAVA内存的垃圾回收。3、数据准备(预处理1)去除无用属性通常对于数据挖掘任务来说,ID这样的信息是无用的,我们将之删除。在区域5勾选属性“id”,并点击“Remove”。将新的数据集保存为“bank-data.arff”,重新打开。接下来演示“RemoveType”。离散化我们知道,有些算法(如关联分析),只能处理所有的属性都是标称型的情况。这时候我们就需要对数值型的属性进行离散化。在这个数据集中有3个变量是数值型的,分别是“age”,“income”和“children”。其中“children”只有4个取值:0,1,2,3。这时我们直接修改ARFF文件,把@attributechildrennumeric改为@attributechildren{0,1,2,3}就可以了。在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,区域6那里显示的“Type”变成“Nominal”了。3、数据准备(预处理2)离散化(续)“age”和

1 / 57
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功