• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: 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);
%计算测试集与训练集的距离
%数据标准化
Tr_m=min(training);
Tr_s=max(training);
Tr=[];
Te=[];
for i=1:(column-1)
    Tr_mi=(training(:i)-Tr_m(i))/Tr_s(i);
    Te_mi=(testing(:i)-Tr_m(i))/Tr_s(i);
    Tr=[TrTr_mi];
    Te=[TeTe_mi];
end
training=[Trtraining(:column)];
testing=Te;
%%%%%计算距离%%%%%%%%%%%%%%%%%%
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
      

评论

共有 条评论