• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-25
  • 语言: Matlab
  • 标签:

资源简介

模式识别中一个常用的算法,即k近邻法,用matlab编程实现代码

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%K-最近邻分类器%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
clc
y=importdata(‘F:\neural computation\Experiment\text1\Iris.txt‘);
p=y(:2:5);
p=p‘;
add=ones(501);
num=zeros(13);
count=0;
% for n=1:150
%     count=0;
for i=1:3
    for j=1:50
          for k=1:150
               distance(k)=mse(p(:k)-p(:(i-1)*50+j));%保存每个向量与所有训练样本之间的距离
          end 
          
          [d1 index1]=sort(distance);%对距离distance向量进行从小到大的排序
          num=[0 0 0];   
          for m=1:20         % 考察num, 存放的是排序后distance前20个属于每一类别的个数
              if index1(m)<=50
                  num(1)=num(1)+1;
              elseif index1(m)<=100
                  num(2)=num(2)+1;
              else
                  num(3)=num(3)+1;
              end
          end          
          [d2 class]=max(num);%  属于哪类的个数最多,就属于哪类,class 即就是该向量所属的类别
          if  i==class
            count=count+1;
          end   
          A((i-1)*50+j)=class;%存放判断的结果
    end
end
count
rate=count/150
% n
% end
figureplot(y(:1)A‘r*‘)%画图分类

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

     文件       3200  2009-12-25 21:05  Iris.txt

     文件       1183  2010-01-09 21:58  TNNC3.m

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

                 4383                    2


评论

共有 条评论

相关资源