我需要在Weka中为数据集执行分类任务。该数据集包含3个文本文件training.txt
,label_training.txt
和testing.txt
。 training.txt
和testing.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文件,该文件将训练数据和标签组合在一起以派生分类器?任何帮助将不胜感激。
答案 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,其中每对数字对应一个属性编号及其值。
我建议编写一个脚本来执行此转换。