下面是搜集资料时发现的几个与libsvm相关的网站,感觉挺有用的,有时间可以看看:
林智仁主页:http://www.csie.ntu.edu.tw/~cjlin/
更多关于libsvm的东西可参考前辈们整理的:(关于libsvm的那点破事) http://www.matlabsky.com/thread-10966-1-1.html
Libsvm 在VS中 http://download.csdn.net/detail/u014691453/8075523 (下载地址)
LIBSVM是一个简单,易于使用和高效的软件SVM分类和回归。它解决了C-SVM分类,NU-SVM分类,one-class-SVM,ε-SVM回归和NU-SVM回归。它也提供了一个自动模式选择工具C-SVM分类。本文档介绍了LIBSVM的应用。
1、下载libsvm
首先需要下载libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 在这里可以下载最新版本的libsvm
2、将工具箱添加到matlab工作搜索目录中
工作搜索目录是指当你使用某一个函数的时候,
matlab可以进行搜索该函数的所有的目录集合
当你使用某一个函数的时候,MATLAB首先会从当前目录搜索调用该函数,如果当前目录没有该函数,MATLAB就会从工作搜索目录按照从上到下的顺序进行搜索调用该函数,如果工作搜索目录中也没有该函数,就会给出 ??? Undefined function or variable ‘XXX’ 这个报错。所以呀,往后如果出现这个报错,您不妨看一下您想调用的函数所在目录是否添加到MATLAB工作搜索目录中了。
当前目录是matlab当前所在的路径
file——>set path ——>Add with Subfolders——> 选取libsvm工具箱所在的路径
3、选择编译器
在matlab命令窗口输入mex -setup
之后就会出现让你选择编译器的代码 先选 yes 看有没有自己安装的VC6.0或者是VS的某个版本,如果有的话直接选择前面的数字,再选择正确的安装路径就编译好了。
注意,一般MATLAB会自带一个编译器Lcc-win32 C 但这个在这里无法使用!为啥呢?因为libsvm源代码使用c++写的,而Lcc-win32 C是一个c编译器,无法编译c++源代码!
但是通常会出现问题选择yes后没有出现自己所安装的编译器。那就重新选择n,下面会出现更多的编译器一般会出现自己安装的。如果没有那就悲剧了,我是重新安装的
注意,会有版本限制。我之前的matlab是2012b的,VS也是2012的,在选择编译器的时候不管是yes还是no都没有VS编译器,之后重新安装了VS2010就好了。
4、编译文件
首先需要把MATLAB的当前目录[Current Folder]调整到libsvm所在的文件夹在命令窗口输入 make,如果运行没有报错就成功了。
我在matlab7中make的时候出现错误也没解决最后是换系统换软件,一切就OK了。注意现在的版本是matlab2012b,vs2010
时间: 2024-11-08 11:26:19