1.下载libsvm-3.23
网址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/#download
2.安装
2.1 解压,将解压后的文件放到MATLAB安装目录的toolbox
2.2 set path 至 D:softwarematlab oolboxlibsvm-3.23
2.3 工作目录调整至 D:softwarematlab oolboxlibsvm-3.23matlab
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);