初步体验libsvm用法2(matlab下安装使用)
在前面的博文《初步体验libsvm用法1(官方自带工具)》:http://www.cnblogs.com/tornadomeet/archive/2012/04/12/2443993.html 中已经初步介绍了使用官方自带的svm几个exe文件来可视化操作分类问题,但是在实际编程中,svm的训练和预测有可能只是项目工程的一部分,嵌入在其中了。我们不能单独拿出来处理。所以libsvm需要与其他的计算机语言平台相结合。
这一节主要讲libsvm在matlab下的初步体验。
我的matlab版本为matlab(R2011b),c/c++编译器为vs c++2010(32位)。这里需要注意的是下面将libsvm与matlab相结合的过程需要有c/c++编译器,所以自己的电脑上必须装有这些编译器,一般常见的c/c+=编译器matlab都会支持的。
下载libsvm:
在网站http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载libsvm最新版本3.12,解压到相应目录(此处解压即安装)。我将其解压后放在c盘,即C:\Program Files\libsvm-3.12。
设置matlab搜索工作目录:
打开matlab,file->Set Path->Add with Subfolders,然后定位到C:\Program Files\libsvm-3.12,注意这里最好定位到libsvm-3.12,而不要定位到libsvm-3.12子目录matlab(也不知道是否可以,没有试过)。点击Save后单击Close即可。
设置matlab当前目工作录:
将matlab的Current Folder定位到刚刚libsvm-3.12下的matlab目录,如我的:C:\Program Files\libsvm-3.12\matlab
选择c/c++编译器:
在matlab的终端输入:met –setup,当出现Would you like mex to locate installed compilers [y]/n?提示时输入y。然后提示让你选择c/c++编译器,我这里输入数字2,即vs c++2010。当出现Are these correct [y]/n?提示时,输入y即可。当出现如下提示说明编译器选择成功:
当然上面成功的是因为我的编译器安装在系统默认的路径下,如果网友的vs不是安装在系统默认下则需要选择n,然后自己手动更改安装目录,大家去尝试下肯定会成功的。
在终端输入make:
然后查看C:\Program Files\libsvm-3.12\matlab目录下是否生成了libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32这4个文件,如果用,说明libsvm的matlab已经编译成功了。
测试libsvm的matlab工具箱是否可用:
在命令行输入下面命令:
load heart_scale;
model=svmtrain(heart_scale_label,heart_scale_inst)
[predict_lebel,accuracy]=svmpredict(heart_scale_label,heart_scale_inst,model)
则其model显示为:
结果显示为:
这说明libsvm在matlab中可以使用了。
参考文献:http://www.matlabsky.com/thread-18080-1-1.html