LIBSVM python

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中

如图

LIBSVM python_第1张图片

打开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文件中。

可得结果我们获得了93%的正确率。错了一个。

而如果我之前没有采用svm帮我调好的参数去训练这个模型的话。会发生什么情况呢?


可见,识别率就会下降了

python调用libsvm的一个简单的应用,你学会了吗?





你可能感兴趣的:(python,机器学习,SVM,libsvm)