libsvm工具箱是台湾大学林智仁(C.J Lin)等人开发的一套简易、易于实现的SVM模式识别与回归软件包。如何安装libsvm,网上有很多的教程,但有些教程可能并不适合你所用的系统或者所用的matlab版本,在认真参考网上比较好的资料后,发现自己走了很多弯路。选对了系统和matlab版本(后面会说原因),安装libsvm并没有那么麻烦。

参考资料:

LibSVM 在matlab中的使用​

Matlab2014b安装libSVM

[教程] lib​svm-mat在MATLAB平台下的安装

Matlab 2016a运行报错 No supported compiler or SDK was found

记录自己安装libsvm步骤如下:

1、下载libsvm工具箱

下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 。目前最新的版本是version 3.22,点击zip file 下载即可

解压下载的压缩包,我的解压路径为C:\Program Files\MATLAB\R2017a\toolbox

2、设置路径

网上很多教程说需要安装编译器(如MinGW-64),然后选择编译器(mex -setup)重新编译。自己也按照这些步骤去做,最后尼玛出现各种问题(还是自己水平太菜的问题),一脸心酸。最后在百度知道上看到一段话(https://zhidao.baidu.com/question/1669036600112692947.html)   ,发现在自己所用系统下不需要那么麻烦:

因为我使用的系统Win10和matlab2017a均为64位,现在libsvm针对64位系统单独做了封装,在libsvm下有一个windows目录,libsvm/windows/*.mexw64,直接将libsvm/windows加载到matlab运行路径上就可以,无需编译!

因此添加路径:

Set Path ->add with subfolders->加入你所解压的libsvm-3.22文件夹的路径

或者,你直接在matlb命令窗口运行下面的代码来添加路径:

cd(' C:\Program Files\MATLAB\R2017a\toolbox\libsvm-3.22');%切换至所在目录
cd windows;
addpath(pwd);%添加路径
savepath;%保存路径

完成上面两个步骤后进行测试,将当前maltab工作目录切换至"C:\Program Files\MATLAB\R2017a\toolbox\libsvm-3.22"(为什么呢?因为在该目录下有个'heart_scale'数据文件,需要用到这个数据文件),运行如下代码:

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07');
[predict_label, accuracy, dec_values] =svmpredict(heart_scale_label, heart_scale_inst, model);

得到结果如下:

*
optimization finished, #iter = 134
nu = 0.433785
obj = -101.855060, rho = 0.426412
nSV = 130, nBSV = 107
Total nSV = 130

Accuracy = 86.6667% (234/270) (classification)


成功了!真是惊喜!
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐