善用weka数据预处理功能:使用weka将excel数据化为weka用arff格式数据或UCI数据
虽然weka3.4中训练已经可以使用cvs格式数据,但是,在测试时好像还是要使用自己的arff格式数据,同时libsvm等又有自己的数据格式要求,这就要求数据可以互相转化。在本论坛http://www.aiseminar.cn/bbs/viewthread.php?tid=189,我已经写了将UCI数据转变为LIBSVM使用数据格式的程序。在此,我将使用weka中的预处理程序将excel的xls数据转化为arff数据的部分取出,以便查找。
在WEKA入门教程中,介绍到:
.* -> .csv
我们给出一个CSV文件的例子(bank-data.csv)。用UltraEdit打开它可以看到,这种格式也是一种逗号分割数据的文本文件,储存了一个二维表格。
Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。
在Matlab中的二维表格是一个矩阵,我们通过这条命令把一个矩阵存成CSV格式。
csvwrite('filename',matrixname)
需要注意的是,Matllab给出的CSV文件往往没有属性名(Excel给出的也有可能没有)。而WEKA必须从CSV文件的第一行读取属性名,否则就会把第一行的各属性值读成变量名。因此我们对于Matllab给出的CSV文件需要用UltraEdit打开,手工添加一行属性名。注意属性名的个数要跟数据属性的个数一致,仍用逗号隔开。
.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”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。
“Exploer”界面
我们应该注意到,“Exploer”还提供了很多功能,用“Preprocess”面板的功能“打开”csv数据,然后使用“保存”功能把数据另存为bank-*.arff的即可。 实例如下:
打开csv文件
打开后的界面
选择arff类型点击save保存
刚刚发现,Excel的CSV文件,用记事本打开时是用“,”等分割的数据文件。于是,我们把存数据文件(用逗号,空格,Tab分隔数据)的后缀名直接改为CSV,就可以直接用Excel打开,再在其上插入一样表头既可使用weka将其转换为arff格式。
来源:http://www.aiseminar.cn/bbs/forum.php?mod=viewthread&tid=225
在WEKA入门教程中,介绍到:
.* -> .csv
我们给出一个CSV文件的例子(bank-data.csv)。用UltraEdit打开它可以看到,这种格式也是一种逗号分割数据的文本文件,储存了一个二维表格。
Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。
在Matlab中的二维表格是一个矩阵,我们通过这条命令把一个矩阵存成CSV格式。
csvwrite('filename',matrixname)
需要注意的是,Matllab给出的CSV文件往往没有属性名(Excel给出的也有可能没有)。而WEKA必须从CSV文件的第一行读取属性名,否则就会把第一行的各属性值读成变量名。因此我们对于Matllab给出的CSV文件需要用UltraEdit打开,手工添加一行属性名。注意属性名的个数要跟数据属性的个数一致,仍用逗号隔开。
.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”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。
“Exploer”界面
我们应该注意到,“Exploer”还提供了很多功能,用“Preprocess”面板的功能“打开”csv数据,然后使用“保存”功能把数据另存为bank-*.arff的即可。 实例如下:
打开csv文件
![]() |
打开后的界面
![]() |
选择arff类型点击save保存
![]() |
刚刚发现,Excel的CSV文件,用记事本打开时是用“,”等分割的数据文件。于是,我们把存数据文件(用逗号,空格,Tab分隔数据)的后缀名直接改为CSV,就可以直接用Excel打开,再在其上插入一样表头既可使用weka将其转换为arff格式。
来源:http://www.aiseminar.cn/bbs/forum.php?mod=viewthread&tid=225