• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Matlab
  • 标签: K近邻  模式识别  

资源简介

K近邻法分类待测样本点,模式识别实验内容之一,用MATLAB生成随机样本点作为样本集,用样本集将考试集分类。

资源截图

代码片段和文件信息

clear all
close all
x = 2 + sqrt(2) * randn(2100)              %生成100个均值与方差为(2,2) 的样本库
y = -2 + sqrt(4) * randn(2100)             %生成100个均值与方差为(-2,4)的样本库
x1 = 1 + sqrt(2) * randn(22)               %生成待测样本x1
y1 = -1 + sqrt(4) * randn(23)              %生成待测样本y1
stablex=x;                                  %创建x的固定备份,用于画各种图
stabley=y;                                  %创建y的固定备份,用于画各种图
z=[x1 y1];                                  %将待测样本合并成一个矩阵

figure(1);
plot(stablex(1:)stablex(2:)‘ro‘);       %画样本库
title(‘剪辑前的7判别‘);
hold on
plot(stabley(1:)stabley(2:)‘b*‘);       %画样本库
grid on
plot(x1(1:)x1(2:)‘gs‘);                 %画待测样本
hold on
plot(y1(1:)y1(2:)‘gd‘);                 %画待测样本
  
  
k=7                                        %剪辑前的7判别
%for i=1:5
    
%tempx=stablex;
%tempy=stabley;
%x=jianji1(tempxtempyk);
%y=jianji2(tempxtempyk);
%plot(x(1:)x(2:)‘ko‘);
%plot(y(1:)y(2:)‘k*‘);
%end

for j=1:2:numel(z)                          %用于判别待测样本
    q=[1:(numel(z)/2)];
    g=oushi(xzj);                         %z中各点对x样本的欧距
    h=oushi(yzj);                         %z中各点对y样本的欧距
    q((j+1)/2)=panjue(ghk);               %z中各点的判决情况
    if j        if q((j+1)/2)==0                    %z中点如果是x类
            plot(z(j)z(j+1)‘rs‘);         %红方形
        else plot(z(j)z(j+1)‘bs‘);        %蓝方形
        end
    else                                    %z中点如果是y类
        if q((j+1)/2)==0
            plot(z(j)z(j+1)‘rd‘);         %红菱形
        else plot(z(j)z(j+1)‘bd‘);        %蓝菱形
        end
    end
end
legend(‘x样本集‘‘y样本集‘‘待测样本x1(被覆盖)‘‘待测样本y1(被覆盖)‘...
    ‘x1中第1点的归类‘‘x1中第2点的归类‘‘y1中第1点的归类‘‘y1中第2点的归类‘‘y1中第3点的归类‘2);



figure(2);
plot(stablex(1:)stablex(2:)‘ro‘);
title(‘剪辑前的1判别‘);
hold on
plot(stabley(1:)stabley(2:)‘b*‘);
grid on
plot(x1(1:)x1(2:)‘gs‘);
hold on
plot(y1(1:)y1(2:)‘gd‘);


k=1                                     %剪辑前的1判别
%for i=1:5
    
%tempx=stablex;
%tempy=stabley;
%x=jianji1(tempxtempyk);
%y=jianji2(tempxtempyk);
%plot(x(1:)x(2:)‘ko‘);
%plot(y(1:)y(2:)‘k*‘);
%end
    
 
for j=1:2:numel(z)                          %用于判别待测样本
    q=[1:(numel(z)/2)];
    g=oushi(xzj);                         %z中各点对x样本的欧距
    h=oushi(yzj);                         %z中各点对y样本的欧距
    q((j+1)/2)=panjue(ghk);               %z中各点的判决情况
    if j        if q((j+1)/2)==0                    %z中点如果是x类
            plot(z(j)z(j+1)‘rs‘);         %红方形
        else plot(z(j)z(j+1)‘bs‘);        %蓝方形
        end
    else                                    %z中点如果是y类
        if q((j+1)/2)==0
            plot(z(j)z(j+1)‘rd‘);         %红菱形
        else plot(z(j)z(j+1)‘bd‘);        %蓝菱形
        end
    end
end
legend(‘x样本集‘‘y样本集‘‘待测样本x1(被覆盖)‘‘待测样本y1(被覆盖)‘...
    ‘x1中第1点的归类‘‘x1中第2点的归类‘‘y1中第1点的归类‘‘y1中第2点的归类‘‘y1中第3点的归类‘

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

     文件        247  2009-05-20 23:04  lowtohigh.m

     文件        198  2009-05-20 23:04  oushi.m

     文件        615  2009-05-20 23:18  panjue.asv

     文件        626  2009-05-20 23:21  panjue.m

     文件       6538  2009-05-20 22:58  a.asv

     文件       6568  2009-05-20 23:16  a.m

     文件       1132  2009-05-20 23:23  jianji1.asv

     文件       1144  2009-05-20 23:24  jianji1.m

     文件        325  2009-05-20 03:27  jianji2.asv

     文件       1145  2009-05-20 23:24  jianji2.m

     文件        239  2009-05-20 23:03  lowtohigh.asv

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

                18777                    11


评论

共有 条评论