本文为原创作品,转载请注明出处
欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing
台湾林智仁教授提供的开源的SVM处理工具箱 libsvm
svm工具箱的下载地址:
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
配置matlab
1、设置路径(搜索路径)
把该工具箱的库包含到matlab的函数搜索路径中去
左键添加并包含子文件夹,把所有的文件都包含进该搜索路径。
2、下载选择编译器(C++)【mex -setup】
matlab自带了C编译器Lcc-win32C,但是libsvm原始版本是C++实现的,因此需要C++的编译器来编译,这就是不适用matlab默认编译器而选择其他C++编译器的原因。
matlab支持的编译器也是有限的,可以查看不同版本matlab支持的编译器列表,可以上网查询matlab支持的编译器版本:
http://www.mathworks.com/support/compilers/R2011a/win32.html
把R2011a换成自己对应的版本就可以查询自己安装的matlab版本所支持的编译器了,注意这里需要的是c++的编译器。
3、编译【make】
这一步是在..\libsvm-3.21\libsvm-3.21\matlab这个路径下完成的,该路径为matlab的当前路径
编译生成的可执行文件.mexw64 (这个应该是64位的matlab生成的,网上有些教程是mexw32,是32位的matlab编译生成的)是一堆加密的文件,打开是乱码的,函数本身没有帮助,可以根据该文件库中包含的readme文件来获取该库的帮助。能够正确有效的利用readme文件是一项非常重要的技能
本文的参考文章有:http://www.matlabsky.com/thread-11925-1-1.html
http://www.matlabsky.com/thread-120-1-1.html
感谢这两篇文章的作者!