最近学习下支持向量机怎么应用,有机个网页分享的经验比较重要,需要注意。这里面也有一些大坑需要避开。
1.官网
http://www.csie.ntu.edu.tw/~cjlin/libsvm
2.matlab安装libsvm常见问题
我用的Matlab2018b。这里注意,先配置编译器:mex -setup;若没有则安装“MinGW-w64 C/C++ Compiler ”, MEX configured to use ‘MinGW64 Compiler (C++)’ for C++ language compilation.
https://blog.csdn.net/cqujcy/article/details/122671525
3.检验是否安装成功:
[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 training data
最后显示:
Accuracy = 86.6667% (234/270) (classification)
4.大坑——svmpredict返回值为空的解决办法
如果使用的是以前老的版本,比如2.几的svm,大部分是要求我们输入两个参数就可以
[predict_label_1,accuracy_1] = svmpredict(train_label,Train_matrix,model);
但是如果采用新版本,3.2以后的,返回值需要三个参数写全。
[predict_label_1,accuracy_1,dec_values1] = svmpredict(train_label,Train_matrix,model);
5.MATLAB自带的svm实现函数与libsvm差别小议
https://www.ilovematlab.cn/thread-85860-1-1.html