Libsvm在MATLAB中安装问题(32位)
本人电脑系统是32位机,MATLAB是2014a版本,安装下载的libsvm是最新版的libsvm-3.22。
遇到的问题:
由于MATLAB是去年就装上并一直使用,下载libsvm后一直显示报错:
‘No supported SDK or compiler was found on this computer. For a list of supported compilers, see
http://www.mathworks.com/support/compilers/R2014a/win64.html ’
后来尝试过网上的很多方法,包括安装SDK7.1(但没有安装成功)安装visual studio2010,也还是报错。最终的处理方法是重新安装了MATLAB2014a,问题解决了。
我这个比较奇葩,整了好几天最后还是重新安装MATLAB解决的,有很多人不需要重新安装MATLAB或者visual studio的,参考方法见论坛中的讨论:
http://www.ilovematlab.cn/thread-298097-1-1.html点击打开链接
在mex -setup 可以编译成功后,需要在MATLAB中添加编译成功后生产四个文件的所在的路径。
参考文章 点击打开链接
其中两个文件是修改过名称的。原名字分别是svmtrain.mexw32、svmpredict.mexw32.修改为libsvmtrain.mexw32和libsvmpredict.mexw32。
因为Matlab中自带有SVM的工具箱,而且其函数名字就是svmtrain和svmpredict,和LIBSVM默认的名字一样,在实际使用的时候有时会产生一定的问题,比如想调用LIBSVM的变成了调用Matlab SVM。
需要注意的是:文章中说明的下载matlab数据集不需要下载,libsvm-3.22文件中是包含的。
如下所示为libsvm-3.22文件。
只需要将heart_scale的文件路径添加到MATLAB中即可。
最后成功实现安装。
安装成功的测试代码:
[heart_scale_label, heart_scale_inst] = libsvmread('heart_scale');
>> model = libsvmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
[predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model);
结果显示:
以上是我的辛苦历程,希望对各位有所帮助。可能我的情况与大家遇到的情况、版本有所不同,但方法都是适用的,也可参考文中贴出的两个链接,安装链接里面的内存尝试也可以成功安装。
libsvm的下载地址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/#download
本文章无需积分下载的链接,只为帮助有需要的人,以消自己安装尝试中经历过的无奈,更消没有积分无法安装一些****文章中的愤恨!