⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nnclassifier.m

📁 用于目标识别的核辨别分析程序
💻 M
字号:
% Nearest Neighbour Classifier-NNC
function [NNCrate]=NNclassifier(features,test_features,trnum,tenum,classnum)

% features       the matrix that training samples projected on feature subspace(训练样本数*特征维数,行矢量)
% test_features  the matrix that test samples projected on feature subspace(测试样本数*特征维数,行矢量) 
% trnum          the number of training samples of each class
% tenum          the number of test samples of each class
% classnum       the number of classes

% NNCrate        the output correct classification rate of each class and the total
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

result=zeros(1,size(test_features,1));
for k1=1:1:size(test_features,1)
    tt=[];
    for k2=1:1:size(features,1)
        tt=[tt norm(test_features(k1,:)-features(k2,:))];
    end
    [tt,ind]=sort(tt);
    result(k1)=ceil(ind(1)/trnum);
end

% correct classification rate of all class
rr=0;
for k1=1:1:size(result,2)
    if result(k1)==ceil(k1/tenum);
        rr=rr+1;
    end
end
rt = rr/(tenum*classnum);

% correct classification rate of each class
rrn=zeros(1,classnum);
for i=1:tenum
    for j=1:classnum
        if result(i+(j-1)*tenum)==ceil((i+(j-1)*tenum)/tenum)
            rrn(j)=rrn(j)+1;
        end
    end
end  
CCrate=rrn/tenum;

% mean correct classification rate, it is equal to the total correct classification rate
rtmean=sum(CCrate)/classnum;

% output
NNCrate=zeros(1,classnum+2);
NNCrate=[CCrate,rtmean,rt];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -