如何将libsvm预测类标签保存到csv?

时间:2017-10-24 03:50:10

标签: csv libsvm

我是SVM的新手,我正在使用libsvm 3.21来训练和测试我的数据。我的每个实例都有类标签1,2,..,5(假设我有10个)。

有没有办法将预测的类标签(例如3,5,1,2,3,4,2,1,1,4)打印到csv或txt文件?我一直在这里http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html,但似乎libsvm只输出这个(以及.model,.range和.scale文件):

optimization finished, #iter = 219
nu = 0.431030
obj = -100.877286, rho = 0.424632
nSV = 132, nBSV = 107
Total nSV = 132

1 个答案:

答案 0 :(得分:0)

根据libsvm中的自述文件,假设您有train.data,test.data,您需要做的是使用svm-train训练您的数据

user:~$ ./svm-train train.data svm.model
*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132

然后使用您刚刚使用svm-predict

训练的模型测试您的test.data
user:~$ ./svm-predict test.data svm.model svm.output
Accuracy = 86.6667% (234/270) (classification)

您可以在svm.output中找到预测的标签。

user:~$ head -5 svm.output 
1
-1
-1
1
-1

特别是,如果要将其更改为.csv文件,可以键入

user:~$ tr -s '\n' ',' < svm.output > svm.csv