http://hi.baidu.com/stockfans/blog/item/489c4b1010584304213f2e98.html

 

文件结构

识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。

以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行,是没有影响的。

除去注释后,整个ARFF文件可以分为两个部分。第一部分给出了头信息(Head information),包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Data information),即数据集中给出的数据。从“@data”标记开始,后面的就是数据信息了。

头信息

数据信息

其他格式转换成ARFF

虽然Weka也支持其他一些格式的文件,但是ARFF格式是支持的最好的。因此有必要在数据处理之前把数据集的格式转换成ARFF。

CSV

  • 将CSV转换为ARFF最迅捷的办法是使用WEKA所带的命令行工具。
运行WEKA的主程序,在菜单中找到“Simple CLI”模块,它可提供命令行功能。在新窗口的最下方(上方是不能写字的):输入框写上

 

java weka.core.converters.CSVLoader filename.csv > filename.arff

 

即可完成转换。
  • 在WEKA 3.5中提供了一个“Arff Viewer”模块,我们可以用它打开一个CSV文件将进行浏览,然后另存为ARFF文件。
  • 进入“Exploer”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。

 

C4.5

与CSV文件类似。

XLS

Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。

接下来把得到的CSV文件按照前述步骤转换为ARFF即可。

MAT

在Matlab中的二维表格是一个矩阵,我们通过这条命令把一个矩阵存成CSV格式。

csvwrite('filename',matrixname)

需要注意的是,Matllab给出的CSV文件往往没有属性名(Excel给出的也有可能没有)。而WEKA必须从CSV文件的第一行读取属性名,否则就会把第一行的各属性值读成变量名。因此我们对于Matllab给出的CSV文件需要用文本编辑软件打开,手工添加一行属性名。注意属性名的个数要跟数据属性的个数一致,仍用逗号隔开。

 

posted on 2010-08-23 14:24  finallyly  阅读(12311)  评论(0编辑  收藏  举报