1,安装libsvm
下载whl文件,利用pip安装,不会的点这里
2,构建数据集并获得决策模型
点击libsvm下svm-toy.exe,然后手动构建 这是我点的点保存下来的数据,保存为txt文件 然后时代吗 先导入包
from libsvm.svmutil import *
from libsvm.svm import *
import scipy.spatial
读取数据
#根据文件路径直接返回要使用的数据格式
label,data= svm_read_problem('..\\source\\iris.txt')#训练数据
p_label,p_data=svm_read_problem('..\\source\\predict.txt')#预测数据
训练参数
para ='-t 1 -c 4 -b 1'
'''
-t
0为线性核
1为多项式核
2为高斯核(默认)
'''
训练并将模型保存在文件里,同时测试准确度
#多项式核
model=svm_train(label,data,para)
svm_save_model('..\\source\\multi.txt',model)
acc=svm_predict(p_label,p_data,model)
高斯核与线性核差不多,只是要改这些地方 这是高斯核
para ='-t 2 -c 4 -b 1'
'''
-t
0为线性核
1为多项式核
2为高斯核(默认)
'''
线性核
para ='-t 0 -c 4 -b 1'
'''
-t
0为线性核
1为多项式核
2为高斯核(默认)
'''
这时可以看到生成的三个文件中的内容 这就是生成的模型
3,总结
libsvm的使用与sklearn里的svm使用一样方便,libsvm对于模型的描述相较于sklearn来说更全面一点,不过使用libsvm需要注意数据的格式
4,参考
LIBSVM 在 python 环境下的使用
|