資源簡介
支持向量機的畫圖程序。能很好的將識別到的不同類型分量,可視化。
代碼片段和文件信息
function?svmplot(labelsdatasetmodeldemension1demension2)
if?nargin==3;
????demension1=1;
????demension2=2;
end
%%
minX=min(dataset(:demension1));
maxX=max(dataset(:demension1));
minY=min(dataset(:demension2));
maxY=max(dataset(:demension2));
gridX=(maxX-minX)./100;
gridY=(maxY-minY)./100;
minX=minX-10*gridX;
maxX=maxX+10*gridX;
minY=minY-10*gridY;
maxY=maxY+10*gridY;
[bigXbigY]=meshgrid(minX:gridX:maxXminY:gridY:maxY);
%%
model.Parameters(1)=3;
ntest=size(bigX1)*size(bigX2);
test_dataset=[reshape(bigXntest1)reshape(bigYntest1)];
test_label=zeros(size(test_dataset1)1);
[Zacc]=svmpredict(test_labeltest_datasetmodel);
bigZ=reshape(Zsize(bigX1)size(bigX2));
%%
clf;
hold?on;
grid?on;
ispos=(labels==labels(1));
pos=find(ispos);
neg=find(~ispos);
h1=plot(dataset(posdemension1)dataset(posdemension2)‘r+‘);
h2=plot(dataset(negdemension1)dataset(negdemension2)‘g*‘);
h3=plot(model.SVs(:demension1)model.SVs(:demension2)‘o‘);
%?legend([h1h2h3]‘class1‘‘class2‘‘support?vectors‘);
[Ch]=contour(bigXbigYbigZ-1:0.5:1);
clabel(Ch‘Color‘‘r‘);
xlabel(‘demension1‘‘FontSize‘12);
ylabel(‘demension2‘‘FontSize‘12);
title(‘The?visualization?of?classfication‘‘FontSize‘12);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1278??2012-07-06?10:17??svmplot.m
評論
共有 條評論