最近在研究matlab的libsvm的包,SVM相比神经网络等传统回归、分类算法更吸引人的地方在于加入了置信风险,神经网络算法权重的指导在于经验风险,分经验风险往往不能正真反映实际情况,可能样布分布不均匀,抑或样本量太少。因此掌握SVM的应用可以好好进行对比。
1、首先你需要下载livsvm的工具包,在网上搜索都有,如果没有的话,我上传了一份点击打开链接
2、将MATLAB工作目录进入 libsvm-3.21->进入matlab
3、命令窗输入:mex -setup 随便选一个编译器,我用的是vs2010
4、命令窗输入:make
如果显示编译成功,就成功咯。
好了,我们看看如何调参。
输入下方代码在脚本,记得把libsvm-3.21下的heart_scale数据包复制到matlab文件夹下,否则打不开。
[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_