资源简介

KNN分类MatLAB源代码(附介绍) MatlAB源代码+论文

资源截图

代码片段和文件信息

%KNN classifiers 
%training is training set testing is test set 
%D is the  distance D=1 is mandistance; D=2 is 欧氏距离 D=3是 infinite norm
% K is the number of selected neighbors
function label=KNN(trainingtestingDK)
[row column]=size(training);
[row1 column1]=size(testing);
%计算测试集与训练集的距离
distance=[];
if D==1
   for i=1:row1
        for j=1:row
            temp=[training(j[1:(column-1)]);testing(i:)];
            d=mandist(temp);
            distance(ij)=d(12);
        end
    end
end
if D==2   
   for i=1:row1
        for j=1:row
            temp=[training(j[1:(column-1)]);testing(i:)]‘;
            d=dist(temp);
            distance(ij)=d(12);
        end
    end
end
if D==3
    for i=1:row1
        for j=1:row
            temp=[training(j[1:(column-1)]);testing(i:)];
            d=max(abs(temp(1:)-temp(2:)));
            distance(ij)=d;
        end
    end
end
% 寻找k个近邻
label=[];
for i=1:row1
    [ab]=sort(distance(i:));
    neighbors=b(1:K)‘;
    neighbors_D=training(neighborscolumn);
    [xy]=sort(neighbors_D);
    temp=find(diff(x)~=0);        
    nei_d=[x(1);x(temp+1)];
    Num_D=[];
    for j=1:length(nei_d)
        num=length(find(neighbors_D==nei_d(j)));
        Num_D=[Num_Dnum];
    end
    [ab]=max(Num_D);
    label(i)=nei_d(b);
end
        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1375  2006-06-18 18:11  KNN.m

     文件     285249  2006-12-04 17:03  neighborhood classifiers.pdf

----------- ---------  ---------- -----  ----

               286842                    3


评论

共有 条评论