|
function Rate=Classfier_Neareast_Neighbour(Sample_train,Sample_test)
%Rate=Classfier_Neareast_Neighbour(Sample_train,Sample_test)
%使用最近邻法进行识别
%Sample_train---为训练样本数目
%Sample_test--样本集
%Rate--识别率
%读取样本大小
[dim,TN_per,C]=size(Sample_train);
SN_per=size(Sample_test,2);
wrong=0;
for ce=1:C
for te=1:SN_per
min_distance=1e+16;
for ct=1:C
for tt=1:TN_per
V=Sample_test(:,te,ce)-Sample_train(:,tt,ct);
distance=norm(V,2);
if distance<min_distance
min_distance=distance;
cy=ct;
end
end
end
if cy~=ce
wrong=wrong+1;%误识样本数
end
end
end
%计算识别率
Rate=(1-wrong./(SN_per*C))*100;
%运行错误:未定义函数或变量‘cy’
|
|