由于需要使用svm,自己又不是很熟,然后就用到了libsvm,libsvm是网上别人写好的一个库。

首先从libsvm官网下载最新版本,现在是3.16,然后解压到某个路径,比如d:\libsvm-3.16,然后把d:\libsvm-3.16\matlab添加到matlab的路径中,具体操作如下
在matlab中依次打开File -> Set path -> Add Fold,然后添加就行了,接下来就是编译了,步骤如下
在matlab命令窗口输入mex -setup其中mex和后面的中间有一个空格,然后选择一个自己系统上安装好的c++编译器,一般选择visual studio是最方便的。然后再把当前目录改到d:\lbsvm-3.16\matlab,然后输入命令make,如果没有出现错误就算安装好了,然后可以用自带的样例做测试。
进入到d:\libsvm-3.16,然后用如下命令进行测试
[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); % test the trainingdata
如果出现一行Accuracy = 86.6667% (234/270) (classification)就说明成功了。就可以在matlab中使用svm了。
参考文献
[1] http://blog.csdn.net/lqhbupt/article/details/8596349
[2] http://www.matlabsky.com/thread-11925-1-1.html

要是出现错误的话,有可能是你添加路径的时候没有添加正确,或者工作路径不对,也就是Matlab上面的Current path。

Comments