weka之weather实例分析

上传人:tia****nde 文档编号:36950312 上传时间:2018-04-04 格式:DOCX 页数:10 大小:34.40KB
返回 下载 相关 举报
weka之weather实例分析_第1页
第1页 / 共10页
weka之weather实例分析_第2页
第2页 / 共10页
weka之weather实例分析_第3页
第3页 / 共10页
weka之weather实例分析_第4页
第4页 / 共10页
weka之weather实例分析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《weka之weather实例分析》由会员分享,可在线阅读,更多相关《weka之weather实例分析(10页珍藏版)》请在金锄头文库上搜索。

1、数据格式数据格式跟很多电子表格或数据分析软件一样,WEKA 所处理的数据集是图 1 那样的一个二维 的表格。 图 1 新窗口打开 这里我们要介绍一下 WEKA 中的术语。表格里的一个横行称作一个实例(Instance) , 相当于统计学中的一个样本,或者数据库中的一条记录。 竖行称作一个属性(Attrbute) , 相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集, 在 WEKA 看来,呈现了属性之 间的一种关系(Relation)。图 1 中一共有 14 个实例,5 个属 性,关系名称为“weather”。 WEKA 存储数据的格式是 ARFF(Attribute

2、-Relation File Format)文件,这是一种 ASCII 文本文件。图 1 所示的二维表格存储在如下的 ARFF 文件中。这也就是 WEKA 自带的 “weather.arff” 文件,在 WEKA 安装目录的“data”子目录下可以找到。 代码: % ARFF file for the weather data with some numric features % relation weather attribute outlook sunny, overcast, rainy attribute temperature real attribute humidity rea

3、l attribute windy TRUE, FALSE attribute play yes, no data % % 14 instances % sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes rainy,70,96,FALSE,yes rainy,68,80,FALSE,yes rainy,65,70,TRUE,no overcast,64,65,TRUE,yes sunny,72,95,FALSE,no sunny,69,70,FALSE,yes rainy,75,80,FALSE,yes sunn

4、y,75,70,TRUE,yes overcast,72,90,TRUE,yes overcast,81,75,FALSE,yes rainy,71,91,TRUE,no 需要注意的是,在 Windows 记事本打开这个文件时,可能会因为回车符定义不一致而 导致分行不正常。推荐使用 UltraEdit 这样的字符编辑软件察看 ARFF 文件的内容。 下面我们来对这个文件的内容进行说明。 识别 ARFF 文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是 空格的行)将被忽略。 以“%”开始的行是注释,WEKA 将忽略这些行。如果你看到的“weather.arff”文件多了或 少了

5、些“%”开始的行,是没有影响的。 除去注释后,整个 ARFF 文件可以分为两个部分。第一部分给出了头信息(Head information) ,包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Data information) ,即数据集中给出的数据。从“data”标记开始,后面的就是数据信息了。 关系声明 关系名称在 ARFF 文件的第一个有效行来定义,格式为 relation 是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文 标点的单引号或双引号) 。 属性声明 属性声明用一列以“attribute”开头的语句表示。数据集中的每一个属性都有它对应的 “attribut

6、e”语句,来定义它的属性名称和数据类型。 这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如, “humidity”是第三个被声明的属性,这说明数据部分那些被逗号 分开的列中,第三列数据 85 90 86 96 . 是相应的“humidity”值。其次,最后一个声明的属性被称作 class 属性,在分 类或回归任务中,它是默认的目标变量。 属性声明的格式为 attribute 其中是必须以字母开头的字符串。和关系名称一样,如果这个字符串 包含空格,它必须加上引号。 WEKA 支持的有四种,分别是 numeric-数值型 -分类(nominal)型 string-字符串型 da

7、te -日期和时间型 其中 和 将在下面说明。还可以使用两个类型 “integer”和“real”,但是 WEKA 把它们都当作“numeric”看待。注意 “integer”, “real”, “numeric”, “date”, “string”这些关键字是区分大小写的,而 “relation”“attribute ”和“date”则 不区分。 数值属性 数值型属性可以是整数或者实数,但 WEKA 把它们都当作实数看待。 分类属性 分类属性由列出一系列可能的类别名称并放在花括号中: , , , . 。数据集中该属性的值只能是 其中一种类别。 例如如下的属性声明说明“outlook”属性有三

8、种类别:“sunny”, “ overcast”和“rainy”。而 数据集中每个实例对应的“outlook”值必是这三者之一。 attribute outlook sunny, overcast, rainy 如果类别名称带有空格,仍需要将之放入引号中。 字符串属性 字符串属性中可以包含任意的文本。这种类型的属性在文本挖掘中非常有用。 示例: ATTRIBUTE LCC string 日期和时间属性 日期和时间属性统一用“date”类型表示,它的格式是 attribute date 其中是这个属性的名称,是一个字符串,来规定该怎样解析和显 示日期或时间的格式,默认的字符串是 ISO-8601

9、 所给的日期时间组合格式“yyyy-MM- ddTHH:mm:ss”。 数据信息部分表达日期的字符串必须符合声明中规定的格式要求(下文有例子) 。 数据信息 数据信息中“data”标记独占一行,剩下的是各个实例的数据。 每个实例占一行。实例的各属性值用逗号“,”隔开。如果某个属性的值是缺失值 (missing value) ,用问号“?”表示,且这个问号不能省略。例如: data sunny,85,85,FALSE,no ?,78,90,?,yes 字符串属性和分类属性的值是区分大小写的。若值中含有空格,必须被引号括起来。 例如: relation LCCvsLCSH attribute LC

10、C string attribute LCSH string data AG5, Encyclopedias and dictionaries.;Twentieth century. AS262, Science - Soviet Union - History. 日期属性的值必须与属性声明中给定的相一致。例如: RELATION Timestamps ATTRIBUTE timestamp DATE “yyyy-MM-dd HH:mm:ss“ DATA “2001-04-03 12:12:12“ “2001-05-03 12:59:55“ 稀疏数据 有的时候数据集中含有大量的 0 值(比如购

11、物篮分析) ,这个时候用稀疏格式的数据存 贮更加省空间。 稀疏格式是针对数据信息中某个实例的表示而言,不需要修改 ARFF 文件的其它部分。 看如下的数据: data 0, X, 0, Y, “class A“ 0, 0, W, 0, “class B“ 用稀疏格式表达的话就是 data 1 X, 3 Y, 4 “class A“ 2 W, 4 “class B“ 每个实例用花括号括起来。实例中每一个非 0 的属性值用 表示。 是属性的序号,从 0 开始计;是属性值。属性值之间仍用逗号隔开。 这里 每个实例的数值必须按属性的顺序来写,如 1 X, 3 Y, 4 “class A“,不能写成3

12、Y, 1 X, 4 “class A“。 注意在稀疏格式中没有注明的属性值不是缺失值,而是 0 值。若要表示缺失值必须显 式的用问号表示出来。 Relational 型属性 在 WEKA 3.5 版中增加了一种属性类型叫做 Relational,有了这种类型我们可以像关系 型数据库那样处理多个维度了。但是这种类型目前还不见广泛应用,暂不作介绍。 数据准备数据准备使用 WEKA 作数据挖掘,面临的第一个问题往往是我们的数据不是 ARFF 格式的。幸好, WEKA 还提供了对 CSV 文件的支持,而这种格式是被很多其他软件所支持的。此外,WEKA 还提供了通过 JDBC 访问数据库的功能。 在这一

13、节里,我们先以 Excel 和 Matlab 为例,说明如何获得 CSV 文件。然后我们将知 道 CSV 文件如何转化成 ARFF 文件,毕竟后者才是 WEKA 支持得最好的文件格式。面对一 个 ARFF 文件,我们仍有一些预处理要做,才能进行挖掘任务。 .* - .csv 我们给出一个 CSV 文件的例子(bank-data.csv ) 。用 UltraEdit 打开它可以看到,这种 格式也是一种逗号分割数据的文本文件,储存了一个二维表格。 Excel 的 XLS 文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个 工作表存成不同的 CSV 文件。打开一个 XLS 文件并

14、切换到需要转换的工作表,另存为 CSV 类型,点“确定”、 “是”忽略提示即可完成操作。 在 Matlab 中的二维表格是一个矩阵,我们通过这条命令把一个矩阵存成 CSV 格式。 csvwrite(filename,matrixname) 需要注意的是,Matllab 给出的 CSV 文件往往没有属性名(Excel 给出的也有可能没有) 。 而 WEKA 必须从 CSV 文件的第一行读取属性 名,否则就会把第一行的各属性值读成变量名。 因此我们对于 Matllab 给出的 CSV 文件需要用 UltraEdit 打开,手工添加一行属性名。注意 属性名 的个数要跟数据属性的个数一致,仍用逗号隔开

15、。 .csv - .arff 将 CSV 转换为 ARFF 最迅捷的办法是使用 WEKA 所带的命令行工具。 运行 WEKA 的主程序,出现 GUI 后可以点击下方按钮进入相应的模块。我们点击进入 “Simple CLI”模块提供的命令行功能。在新窗口的最下方(上方是不能写字的)输入框写上 java weka.core.converters.CSVLoader filename.csv filename.arff 即可完成转换。 在 WEKA 3.5 中提供了一个“Arff Viewer”模块,我们可以用它打开一个 CSV 文件将进行 浏览,然后另存为 ARFF 文件。 进入“Exploer”

16、模块,从上方的按钮中打开 CSV 文件然后另存为 ARFF 文件亦可。 “Exploer”界面 我们应该注意到, “Exploer”还提供了很多功能,实际上可以说这是 WEKA 使用最多的模 块。现在我们先来熟悉它的界面,然后利用它对数据进行预处理。 图 2 新窗口打开 图 2 显示的是使用 3.5 版“Exploer“打开“bank-data.csv“的情况。我们根据不同的功能把 这个界面分成 8 个区域。 区域 1 的几个选项卡是用来切换不同的挖掘任务面板。这一节用到的只有“Preprocess”, 其他面板的功能将在以后介绍。 区域 2 是一些常用按钮。包括打开数据,保存及编辑功能。我们在这里把“bank- data.csv“另存为“bank-data.arff“。 在区域 3 中“Choose”某个“Filt

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号