1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| clear all
clc
close all
%%load data
data=load('data_appsvm.mat')
xdata= (data.X)';
group= (data.y)';
%%
p=0.5
[Train, Test] =crossvalind('HoldOut', group, p)
TrainingSample=xdata(Train,:);
TrainingLabel=group(Train,1);
TestingSample=xdata(Test,:);
TestingLabel=group(Test,1);
% numclass=max(group);
% for i=1:numclass
% for j=i+1:numclass
% inij=(LrainninLabel==j) | (TrainingLabel==i);
% TrainingSampleij=TrainingSample(inij,:);
% TrainingLabelij=TrainingLabel(inij,:);
%
%
% end
%% kfold crossvalidation
numfolds=5
Indices = crossvalind('Kfold', TrainingLabel, numfolds)
for i=1:numfolds
TestingFoldSample=TestingSample(Indices==1,:);
TrainingFoldSample=TestingSample(:,Indices~=1);
TraingFoldLabeL=TraingFoldLabeL(:,Indices~=1);
SVMStruct = svmtrain(TrainingSample,TrainingLabel...
,' showplot',0,'kernel_function','rbf', 'rbf_Sigma', 0,5);
outLabel=svmclassify(svmStruct,TestingfoldSample,'showplot',true);
end |
Partager