1.前言
由于毕业设计需要用到libsvm,所以最近专心于配置libsvm,曾经尝试过在matlab中安装,但是没有成功。最终在Python环境中完成安装。
2.LIBSVM介绍
LIBSVM 是*大学林智仁(Lin Chih-Jen)教授等开发设计的一个操作简单、易于使用、快速有效的 SVM 软件包。可以解决分类问题(包括 C-SVC、n-SVC )、回归问题(包括 e-SVR、n-SVR )以及分布估计(one-class-SVM)等问题,提供了线性、多项式、径向基和 S 形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。LIBSVM 不但提供了编译好的 Windows 系统执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用。LIBSVM 最大的特点就是对 SVM 所涉及的参数调节相对比较少,提供了很多的默认参数,因而使用起来非常方便。SVM 用于模式识别或回归时, SVM 方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式, 也就是说最优 SVM 算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优的功能。
LIBSVM 可以在 http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download 处免费获得。
3.LIBSVM的安装
3.1 下载libsvm安装包
下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download
将下载好的libsvm进行解压,解压到适当的文件夹中,本人解压到了:D:\libsvm-3.22中。
3.2 对libsvm.dll进行适配处理
1.本人电脑使用的是win10 64位系统,python使用的是Python3.6.3(anaconda 3 5.0.1 64bit)版本,并且没有安装VS。所以到Python的一些网站上下载对应版本的libsvm。下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-umfpack
2.由于本人python版本是3.6.3,操作系统是64位的,所以下载对应的libsvm为libsvm-3.22-cp36-cp36m-win_amd64.whl。
3.打开anaconda prompt,进入文件所在路径,使用pip安装libsvm-3.22-cp36-cp36m-win_amd64.whl。
pip install libsvm-3.22-cp36-cp36m-win_amd64.whl
4.安装成功后进入python目录下的一个文件夹site-packages下找到新生成的libsvm.dll。将其放置到C:\windows\system32。
3.3 配置path环境变量
将解压的libsvm文件夹下的tools和windows所在的路径D:\libsvm-3.22\tools和D:\libsvm-3.22\windows添加到path的环境变量中。
3.4 安装gnuplot
由于许多步骤需要调用 gnuplot 来绘制图形,所以首先需要安装 gnuplot。
下载地址: https://sourceforge.net/projects/gnuplot/files/gnuplot/
安装默认安装即可。记住安装路径,本人安装路径为D:\Program Files\gnuplot
3.5 修改easy.py和grid.py
在tools文件夹中的两个文件easy.py和grid.py中,有关gnuplot对应的路径需要更改。
在easy.py中设置
gnuplot_exe = r"D:\Program Files\gnuplot\bin\gnuplot.exe"
在grid.py中设置
self.gnuplot_pathname = r'D:\Program Files\gnuplot\bin\gnuplot.exe'
至此,Python版LIBSVM安装成功。
4.LIBSVM的简单使用
>>> import os
>>> os.chdir('D:\libsvm-3.22\python')
>>> from svmutil import *
>>> y,x=svm_read_problem('../heart_scale')
>>>m=svm_train(y[:200],x[:200],'-c 4')
>>> p_label,p_acc,p_val=svm_predict(y[200:],x[200:],m)
参考链接:
http://baijiahao.baidu.com/s?id=1580049402237436090
http://xiaosheng.me/2016/06/06/article15/
http://blog.csdn.net/lqhbupt/article/details/8599295
转载来源:https://www.cnblogs.com/bbn0111/p/8318629.html