1.下载libsvm
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
在libsvm的网站上下载 libsvm-3.12.zip文件,解压后放在任意目录下,最好放在MATLAB工具箱中,比如 D:\program files (x86)\MATLAB\R2014a\toolbox\libsvm-3.22下。
2.打开matlab,添加libsvm的目录,如下图所示
3.MATLAB编译器下,命令窗口输入 mex -setup ,前提本机装有visual studio编译器
4.编译生成文件
命令窗口输入:make。输入make,会有提示 找不到
svmtrain.exp svmpredict.exp,没关系。只要在libsvm/matlab目录下生成了 这4个文件libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32 就行了,把这4个文件复制到..MATLAB\R2014a\toolbox\libsvm-3.22\windows
下替换原来的文件
5.测试
5.1
>> load heart_scale;
错误,去下载heart_scale.mat文件放在libsvm-3.22文件下
改为load('heart_scale.mat')
5.2
>> model = svmtrain(heart_scale_label, heart_scale_inst);
输出*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132
5.3
>> [predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model);
错误弹出
Usage: [predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')
[predicted_label] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')
Parameters:
model: SVM model structure from svmtrain.
libsvm_options:
-b probability_estimates: whether to predict probability estimates, 0 or 1 (default 0); one-class SVM not supported yet
-q : quiet mode (no outputs)
Returns:
predicted_label: SVM prediction output vector.
accuracy: a vector with accuracy, mean squared error, squared correlation coefficient.
prob_estimates: If selected, probability estimate vector.
格式错误
改为
>> [predict_label, accuracy,decision_values ] = svmpredict(heart_scale_label, heart_scale_inst, model,'-b 0');
输出
Accuracy = 86.6667% (234/270) (classification)
表示测试成功,安装成功