如何将 libsvm 预测的类标签保存到 csv?
Posted
技术标签:
【中文标题】如何将 libsvm 预测的类标签保存到 csv?【英文标题】:How to save libsvm predicted class labels to csv? 【发布时间】:2018-04-04 17:47:32 【问题描述】:我是 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】:根据 libsvm 中的 README,假设你有 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
【讨论】:
以上是关于如何将 libsvm 预测的类标签保存到 csv?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python 和 pandas 将 Csv 文件转换为 libsvm?