📄 multi_wine.asv
字号:
clear all
close all
load wine.txt
load winetest.txt
traindata=wine;
testdata=winetest;
[row column]=size(traindata);
num=max(traindata(:,column));
for i=1:num
for j=1:num
if (i<j)
% eval(['ssr' num2str(col) '=r;']);
iloc=find(traindata(:,column)==i);
jloc=find(traindata(:,column)==j);
SamplesI=traindata([iloc;jloc],1:column-1);
LabelsI=traindata([iloc;jloc],column);
Samples=SamplesI';
Labels=LabelsI';
eval(['[AlphaY' num2str(i) num2str(j) ', SVs' num2str(i) num2str(j) ', Bias' num2str(i) num2str(j) ', Parameters' num2str(i) num2str(j) ', nSV' num2str(i) num2str(j) ', nLabel' num2str(i) num2str(j) ']=LinearSVC(Samples, Labels);']);
end
end
end
testSI=testdata(:,1:column-1);
testLI=testdata(:,column);
testS=testSI';
testL=testLI';
PreLabelsu=[];
Preu=[];
for i=1:num
for j=1:num
if (i<j)
eval(['[ClassRate' num2str(i) num2str(j) ', DecisionValue' num2str(i) num2str(j) ', Ns' num2str(i) num2str(j) ', ConfMatrix' num2str(i) num2str(j) ', PreLabels' num2str(i) num2str(j) ']= SVMTest(testS,testL, AlphaY' num2str(i) num2str(j) ', SVs' num2str(i) num2str(j) ', Bias' num2str(i) num2str(j) ',Parameters' num2str(i) num2str(j) ', nSV' num2str(i) num2str(j) ', nLabel' num2str(i) num2str(j) ');']);
xx=eval(['DecisionValue' num2str(i) num2str(j)]);
mfparams = [log(.25) 0];
mftype = 'sigmf';
eval(['Preu' num2str(i) num2str(j) '=evalmf(xx,mfparams,mftype);']);
%eval(['PreLabels' num2str(i) num2str(j) ',Preu' num2str(i) num2str(j)])
%pause
%eval(['PreLabelsu=[PreLabelsu;[PreLabels' num2str(i) num2str(j) ';Preu' num2str(i) num2str(j) ']];']);
eval(['Preu=[Preu;Preu' num2str(i) num2str(j) '];']);
end
end
end
PreLabels=[PreLabels12;PreLabels13;PreLabels23];
for i=1:length(Preu)
%for j=1:num
% Labelnum(j)=length(find(Preu(:,i)==max(Preu(:,i))));
%end
%Decision(i)=min(find(Labelnum==max(Labelnum)));
Decision(i)=PreLabels(:,find(Preu(:,i)==max(Preu(:,i))));
Decisionu(i)=max(Preu(:,i));
end
ClassRate=length(find((Decision-testL)==0))/length(testL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -