SVM简介:http://blog.csdn.net/lvhao92/article/details/50817110
本篇介绍python中调用LIBSVM
1.软件下载
Libsvm下载http://www.csie.ntu.edu.tw/~cjlin/libsvm/
gnuplot下载http://www.gnuplot.info/
当然还要有python(python安装各位百度吧)
gnuplot是一个绘图工具。下载好了安装。我的gnuplot安装到了C:\Program Files (x86)而libsvm是直接解压到了C盘
2.获得参数
随便在哪个盘新建一个文件夹svm
将libsvm-3.21中tools的easy.py和grid.py拷贝到文件夹svm中
将libsvm-3.21中windows的svm-predict.exe,svm-scale.exe,svm-toy.exe,svm-train.exe也拷贝到svm中
如图
打开svm-toy.exe开始画点
鼠标左击画点,按change按钮可以换颜色。
画差不多了,点一下run。就会变成这样
然后save成train
接下来将打开grid.py,在else的地方改下训练程序的路径和画图软件的路径,如图中红线所示。
再打开easy.py,同样在else后面改下画图程序的路径
修改好之后打开命令提示符,进入新建的svm文件夹
运行这样的语句之后,会出现一副图,最后运行完之后得到这样的语句
这是我们需要获得的参数,根据我们点的图惩罚系数c就是32.0,而γ系数就是后面的0.0078125。可见libsvm直接能帮我们调好参数了。
3.训练SVM
输入如下的语句。以前面调好的参数带入svm-train.exe中去训练。训练完后会获得名为train_down的模型。
4.测试SVM
通过之前同样的方法来生成测试样本
将其保存为test文件。
输入这条语句用之前训练得到的train_down.model模型来测试test。结果反馈到result.out文件中。
而如果我之前没有采用svm帮我调好的参数去训练这个模型的话。会发生什么情况呢?
可见,识别率就会下降了
python调用libsvm的一个简单的应用,你学会了吗?