将包含训练数据及其标签的单独文本文件转换为ARFF格式

时间:2014-03-31 16:58:13

标签: classification data-mining weka

我需要在Weka中为数据集执行分类任务。该数据集包含3个文本文件training.txtlabel_training.txttesting.txttraining.txttesting.txt的格式如下:

InformationID  FeatureID  Value
1                6         1.00
1               160       31.00
1               438        1.00
1               479        1.00
2              6457        2.00
2              6664        0.65
2              6761        0.46
2              6762        1.00

label_training.txt包含训练数据的类标签,每行代表训练集中的数据点。

1
1
1
-1
1
-1
-1

这是否意味着label_training.txt文件的第1行对应于training.txt文件中具有InformationID 1的所有行?我想确定我是否正确理解。因此,训练集中的一个数据点对应于InformationID 1,其值为4个特征,ID为6,160,438,479?

现在,如何创建一个ARFF文件,该文件将训练数据和标签组合在一起以派生分类器?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

好吧,您的数据集似乎是稀疏格式,其中InformationID标识实例,FeatureID标识该功能,Value每个实例的值为label_training.txt特征

让我们假设InformationID是显式的(实例由行标识,例如第1行标识实例#1,对应@relation my-relation @attribute my-class {-1,1} @attribute 1 numeric @attribute 2 numeric ../.. @data {0 1, 6 1.00, 160 31.00, 438 1.00, 479 1.00} {0 1, 6457 2.00, 6664 0.65, 6761 0.46, 6762 1.00} ../.. 1。

在这种情况下,您需要生成如下所示的ARFF文件:

{{1}}

这是一个WEKA sparse ARFF format,其中每对数字对应一个属性编号及其值。

我建议编写一个脚本来执行此转换。