weka学习笔记.docx
- 文档编号:2940161
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:15
- 大小:220.82KB
weka学习笔记.docx
《weka学习笔记.docx》由会员分享,可在线阅读,更多相关《weka学习笔记.docx(15页珍藏版)》请在冰豆网上搜索。
weka学习笔记
Weka学习笔记
一、数据格式:
以“%”开始的行是注释。
除去注释后,整个ARFF文件可以分为两个部分。
第一部分给出了头信息(Headinformation),包括了对关系的声明和对属性的声明。
第二部分给出了数据信息(Datainformation),即数据集中给出的数据。
从“@data”标记开始,后面的就是数据信息了。
1、关系声明:
@relation
在ARFF文件的第一个有效行来定义。
如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。
2、属性声明:
@attribute
声明语句的顺序按照该项属性在数据部分的位置来排。
最后一个声明的属性被称作class属性,在分类或回归任务中,它是默认的目标变量。
和关系名称一样,如果这个字符串包含空格,它必须加上引号。
WEKA支持的
numeric数值型、
(1)数值属性:
数值型属性可以是整数或者实数,但WEKA把它们都当作实数看待。
(2)分类属性:
分类属性由
{
例如如下的属性声明说明“outlook”属性有三种类别:
“sunny”,“overcast”和“rainy”:
@attributeoutlook{sunny,overcast,rainy}
如果类别名称带有空格,仍需要将之放入引号中。
(3)字符串属性:
字符串属性中可以包含任意的文本。
这种类型的属性在文本挖掘中非常有用。
如:
@ATTRIBUTELCCstring
(4)日期和时间属性:
日期和时间属性统一用“date”类型表示,它的格式是
@attribute
mm:
ss”。
数据信息部分表达日期的字符串必须符合声明中规定的格式要求。
3、数据信息:
@data
“@data”标记独占一行,剩下的是各个实例的数据。
每个实例占一行。
实例的各属性值用逗号“,”隔开。
如果某个属性的值是缺失值(missingvalue),用问号“?
”表示,且这个问号不能省略。
例如:
@data
sunny,85,85,FALSE,no
?
78,90,?
yes
4、注意:
(1)字符串属性和分类属性的值是区分大小写的。
若值中含有空格,必须被引号括起来。
例如:
@relationLCCvsLCSH
@attributeLCCstring
@attributeLCSHstring
@data
AG5,'Encyclopediasanddictionaries.;Twentiethcentury.'
AS262,'Science--SovietUnion--History.'
(2)日期属性的值必须与属性声明中给定的格式相一致。
例如:
@RELATIONTimestamps
@ATTRIBUTEtimestampDATE"yyyy-MM-ddHH:
mm:
ss"
@DATA
"2001-04-0312:
12:
12"
"2001-05-0312:
59:
55"
(3)稀疏数据处理
有的时候数据集中含有大量的0值(比如购物篮分析),这个时候用稀疏格式的数据存贮更加省空间。
稀疏格式只记录非0的值,实例中每一个非0的属性值用
属性值之间仍用逗号隔开。
看如下的数据:
@data
0,X,0,Y,"classA"
0,0,W,0,"classB"
用稀疏格式表达的话就是
@data
{1X,3Y,4"classA"}
{2W,4"classB"}
这里每个实例的数值必须按属性的顺序来写,如{1X,3Y,4"classA"},不能写成{3Y,1X,4"classA"}。
注意缺失值必须显式的用问号表示出来。
(4)Relational型属性
在WEKA3.5版中增加了一种属性类型叫做Relational,有了这种类型我们可以像关系型数据库那样处理多个维度了。
但是这种类型目前还不见广泛应用,暂不作介绍。
二、数据准备
除了ARFF,WEKA还支持CSV文件,并且提供通过JDBC访问数据库的功能。
本节先以Excel和Matlab为例,说明如何获得CSV文件,然后我们将知道CSV文件如何转化成ARFF文件。
以及一些预处理
1、.*->.csv
用excel打开,另存为CSV类型即可。
Matlab中的二维表格是一个矩阵,通过命令csvwrite('filename',matrixname)可以把一个矩阵存成CSV格式。
需要注意的是,Matllab给出的CSV文件往往没有属性名(Excel给出的也有可能没有)。
而WEKA必须从CSV文件的第一行读取属性名,否则就会把第一行的各属性值读成变量名。
因此我们对于Matllab给出的CSV文件需要用UltraEdit打开,手工添加一行属性名。
注意属性名的个数要跟数据属性的个数一致,仍用逗号隔开。
2、.csv->.arff
将CSV转换为ARFF有两个方法:
(1)在“SimpleCLI”中使用命令:
javaweka.core.converters.CSVLoaderfilename.csv>filename.arff
即可完成转换。
(2)进入“Exploer”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。
3、“Exploer”界面
“Exploer”是WEKA使用最多的模块,先熟悉它的界面,然后利用它对数据进行预处理。
下图显示的是使用3.6版"Exploer"打开"bank-data.csv"的情况。
我们根据不同的功能把这个界面分成8个区域。
(1)区域1的几个选项卡是用来切换不同的挖掘任务面板。
●预处理(preprocess):
选择数据集,查看基本信息,以多种方式对其进行修改。
●分类(classify):
分类、回归,比如建立决策树。
●聚类(cluster):
对数据进行聚类。
●关联(associate):
训练数据的关联准则,并评估。
●选择属性(select):
在数据集中选择最相关的部分。
●可视化(visualize):
查看相关的一些图。
(2)区域2是一些常用按钮。
包括打开数据,保存及编辑功能。
可以在这里把"bank-data.csv"另存为"bank-data.arff"
(3)在区域3中“Choose”某个“Filter”,可以实现筛选数据或者对数据进行某种变换。
用来进行数据的预处理。
(4)区域4展示了数据集的一些基本情况。
(5)区域5中列出了数据集的所有属性。
勾选一些属性并“Remove”就可以删除它们,删除后还可以利用区域2的“Undo”按钮找回。
区域5上方的一排按钮用来实现快速勾选。
(6)在区域5中选中某个属性,则区域6中有关于这个属性的摘要。
注意对于数值属性和分类属性,摘要的方式是不一样的。
图中显示的是数值属性“age”的摘要。
(7)区域7是区域5中选中属性的直方图。
若数据集的最后一个属性(我们说过这是分类或回归任务的默认目标变量)是分类变量(这里的“pep”正好是),直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。
要想换个分段的依据,在区域7上方的下拉框中选个不同的分类属性就可以了。
下拉框里选上“NoClass”或者一个数值属性会变成黑白的直方图。
(8)区域8是状态栏,可以查看Log以判断是否有错。
右边的weka鸟在动的话说明WEKA正在执行挖掘任务。
右键点击状态栏还可以执行JAVA内存的垃圾回收。
4、预处理
(1)bank-data数据各属性的含义如下:
属性
说明
ID
标识
Age
顾客年龄(numeric)
Sex
MALE/FEMALE
Region
inner_city/rural/suburban/town
Income
顾客收入(numeric)
Married
顾客婚姻状况(YES/NO)
Children
孩子数(numeric)
Car
顾客是否有车(YES/NO)
Save_acct
顾客是否有存储账户(YES/NO)
Current_acct
顾客是否有现金账户(YES/NO)
Mortgage
顾客是否有抵押(YES/NO)
Pep
上一次邮寄之后,顾客是否买了PEP(PersonalEquityPlan)(YES/NO)
通常对于数据挖掘任务来说,ID这样的信息是无用的,我们将之删除。
将新的数据集保存一次,并用UltraEdit打开这个ARFF文件。
我们发现,在属性声明部分,WEKA已经为每个属性选好了合适的类型。
(2)数值离散化
我们知道,有些算法,只能处理所有的属性都是分类型的情况。
这时候我们就需要对数值型的属性进行离散化。
在这个数据集中有3个变量是数值型的,分别是“age”,“income”和“children”。
其中“children”只有4个取值:
0,1,2,3。
这时我们在UltraEdit中直接修改ARFF文件,把
@attributechildrennumeric
改为
@attributechildren{0,1,2,3}
并保存,在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,区域6那里显示的“Type”是不是变成“Nominal”了?
“age”和“income”的离散化我们需要借助WEKA中名为“Discretize”的Filter。
在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute.Discretize”,点击。
现在“Choose”旁边的文本框应该显示“Discretize-B10-M-0.1-Rfirst-last”。
点击这个文本框会弹出新窗口以修改离散化的参数。
attributeIndices右边改成“1,4”,表示只对属性1(age)和属性4(income)离散化。
点“OK”回到“Explorer”,并点击APPLY,可以看到“age”和“income”已经被离散化成分类型的属性。
若想放弃离散化可以点区域2的“Undo”。
如果对“"(-inf-34.333333]"”这样晦涩的标识不满,我们可以用UltraEdit打开保存后的ARFF文件,把所有的“'\'(-inf-34.333333]\''”替换成“0_34”。
其它标识做类似地手动替换。
三、数据处理
1、关联规则(购
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- weka 学习 笔记