SVM可用于分类和回归。
1.分类实例
需要训练数据和测试数据的数据及标签。
clear;
clc;
close all;
%训练数据及标签
data = [176 70;180 80;161 45;163 47;];
label = [1;1;-1;-1];
model = svmtrain(label,data);
%测试数据及标签
testdata = [190 85];
testdatalabel = -1;
[predictlabel,accurary,decision_values] = svmpredict(testdatalabel,testdata,model);
predictlabel
if 1 == predictlabel
disp('==该生为男生');
end
if -1 == predictlabel
disp('==该生为女生');
end
两个函数svmtrain、svmpredict。
model = svmtrain(label,data,parameters);
该方法中常见参数为c、g、t;
t为核函数;
c为惩罚参数;
g为核函数参数;
[predictlabel,accurary,decision_values] = svmpredict(label,data,model);
accuracy =
99.6296
0.0148
0.9851
返回参数accuracy从上到下的意义依次是:
分类准确率
平均平法误差(mean squared error,MSE)
平方相关系数(squared correlation coefficient,r2)