当前位置:文档之家› 支持向量机(SVM)4分类例子

支持向量机(SVM)4分类例子

四份类例子
%算法一 多类支持向量机(一对多算法)
close all
clear all
%训练数据产生(四类)
load x1
load x2
load x3
load x4
xapp=[x1;x2;x3;x4];
yapp=[1*ones(1,size(x1,1)),2*ones(1,size(x2,1)), 3*ones(1,size(x3,1)),4*ones(1,size(x4,1))]';
%-----------------------------------------------------
%试验数据产生
load xt1;
load xt2;
load xt3;
load xt4;
xtest=[xt1;xt2;xt3;xt4];
ytest=[1*ones(1,size(xt1,1)) 2*ones(1,size(xt2,1)) 3*ones(1,size(xt3,1)) 4*ones(1,size(xt4,1))]';
%一对多算法
% 参数设置
c = 1000;

lambda = 1e-7;
kerneloption= 2;
kernel='gaussian';
verbose = 1;
%---------------------One Against All algorithms----------------
nbclass=4;
%训练
[xsup,w,b,nbsv]=svmmulticlassoneagainstall(xapp,yapp,nbclass,c,lambda,kernel,kerneloption,verbose);
%计算训练样本自身分类误差
[ypred] = svmmultival(xapp,xsup,w,b,nbsv,kernel,kerneloption);
fprintf( '\nRate of correct class in training data : %2.2f \n',100*sum(ypred'==yapp)/length(yapp));
%测试
[ypred,maxi] = svmmultival(xtest,xsup,w,b,nbsv,kernel,kerneloption);
%识别率
fprintf( '\nRate of correct class in test data : %2.2f \n',100*sum(ypred'==ytest)/length(ytest));

相关主题
文本预览
相关文档 最新文档