后来发现python貌似有接口,但是数据已经处理了就直接用了C版本的exe
至于下载去官网 ,下载二进制版本(即exe),然后样例1(example1)。
二进制文件夹里面有两个exe,一个是learn,一个为classify,顾名思义,一个用来训练模型,另一个是进行分类。
样例1中有train和test两个文件,其中格式为 :
标签+特征值 具体理解可以看下面的举例:
假如有两个样本
1、标签为1,特征值为 0,0,2,3,0,5
2、标签为0,特征值为 0,1,0,0,4,6
则将它处理为 :
+1 3:2 4:3 6:5
-1 2:1 5:4 6:6
(只能为-1和1标签进行二分类,索引不允许出现0)
于是将你的数据处理成这样即可
使用方法是:
先打开cmd,cd到目标文件夹
1、svm_learn.exe train.dat model
得到模型
2、svm_classify.exe test.dat model predict.txt
得到预测结果
只输入svm_learn.exe 可以得到参数说明,自己看,一般默认。
svmlight似乎对大维但是稀疏的效果比较好(比如N-gram的词袋模型)