我正在尝试使用Libsvm并且我得到以下行为:
root@bcfd88c873fa:/home/libsvm# ./svm-train myfile
Wrong input format at line 1
root@bcfd88c873fa:/home/libsvm# head -n 5 myfile
2 0:0.00000 8:0.00193 2:0.00000 1:0.00000 10:0.00722
3 6:0.00235 2:0.00000 0:0.00000 1:0.00000 5:0.00155
4 0:0.00000 1:0.00000 2:0.00000 4:0.00187
3 6:0.00121 8:0.00211 1:0.00000 2:0.00000 0:0.00000
3 0:0.00000 2:0.00000 1:0.00000
你能看到格式有什么问题吗?它适用于其他svm实现,例如Go中的this one。
谢谢,
答案 0 :(得分:4)
提供的格式正确无误。 Java
的{{1}}接口会按预期处理提供的文件。
但是,我还尝试了Windows和Linux界面,其行为与您的问题中描述的相同。
LIBSVM 3.22
经过调查,我发现 feature-ids 必须排序才能被该工具正确处理(这似乎是{{1}的错误接口不受此限制...):
svm-train.exe myfile
Wrong input format at line 1
此外,当Java
使用sparse-data format时,您可以通过跳过值为零的要素来简化数据集:
2 0:0.00000 1:0.00000 2:0.00000 8:0.00193 10:0.00722
3 0:0.00000 1:0.00000 2:0.00000 5:0.00155 6:0.00235
4 0:0.00000 1:0.00000 2:0.00000 4:0.00187
3 0:0.00000 1:0.00000 2:0.00000 6:0.00121 8:0.00211
3 0:0.00000 1:0.00000 2:0.00000