我正在尝试使用LIBSVM来分类手写字符。我已经成功执行了‘svm-train.exe’用于训练和‘svm-predict.exe’用于测试。对于两者,输入文件格式是-
0 1:1 2:0 3:1 4:01 1:0 2:1 3:0 4:10 1:1 2:0 3:1 4:11 1:0 2:1 3:0 4:1
现在,我想用‘svm-predict.exe’来分类未标记的数据。因此,现在的输入文件将是这样的-
1:1 2:0 3:1 4:01:0 2:1 3:0 4:11:1 2:0 3:1 4:11:0 2:1 3:0 4:1
但是,当我用上述输入运行‘svm-predict.exe’时,显示以下错误信息-
第1行输入格式错误
这意味着-我不能将未标记的数据提供给‘svm-predict.exe’。那么,在现实世界的应用中,我应该如何使用它来标记未标记的数据呢?我已经在谷歌上搜索过,也问过其他人,但没有得到有用的解决方案。
备注:我得到的一个建议是-用任何随机值标记测试数据(因为我不需要准确性)。但这对我来说似乎不合理。有什么直接的方法可以做到吗?
回答:
简单的回答是-不,’svm-predict.exe’不能在没有标签的情况下使用。这个可执行文件不是为现实世界使用设计的,正如rzo评论的-
svm-predict.exe只是用来“玩”的,不是为现实世界的应用设计的。最好的方法是使用库并编写一些自己的代码。
但是,如果我们只是想简单地用于演示或避免编程的复杂性,那么除了使用’随机标签’之外别无他法。
要在项目中使用LIBSVM库,您可以访问以下链接-