1.下載libsvm-3.23
網址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/#download
2.安裝
2.1 解壓,將解壓后的文件放到MATLAB安裝目錄的toolbox
2.2 set path 至 D:\software\matlab\toolbox\libsvm-3.23
2.3 工作目錄調整至 D:\software\matlab\toolbox\libsvm-3.23\matlab
3.編譯
3.1 mex -setup
(易錯:Matlab 未找到支持的編譯器或 SDK 解決方法歸納
https://blog.csdn.net/gszhan/article/details/50951070)
3.2 make(出錯及解決:https://blog.csdn.net/SKY_yiyi_9/article/details/88140283)
4. 測試
4.1 數據(heart_scale https://pan.baidu.com/s/1fy5PkBrV9w8zd2lsKPnttQ)
4.2 指令
% load heart_scale.mat;
% model = svmtrain(heart_scale_label,heart_scale_inst);
% [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);
load heart_scale.mat;
data = heart_scale_inst;
label = heart_scale_label;
% 選取前200個數據作為訓練集合,后70個數據作為測試集合
ind = 200;
traindata = data(1:ind,:);
trainlabel = label(1:ind,:);
testdata = data(ind+1:end,:);
testlabel = label(ind+1:end,:);
% 利用訓練集合建立分類模型
model = svmtrain(trainlabel,traindata,'-s 0 -t 2 -c 1.2 -g 2.8');
% 利用建立的模型看其在訓練集合上的分類效果
[ptrain,acctrain] = svmpredict(trainlabel,traindata,model);
% 預測測試集合標簽
[ptest,acctest] = svmpredict(testlabel,testdata,model);
% 預測精度
[predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);