• 大小: 14KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Matlab
  • 标签: knn  

资源简介

多个模式识别算法的matlab代码,,包括k近邻、二叉决策树、感知器、fisher线性判别等

资源截图

代码片段和文件信息

% =====================压缩剪辑近邻算法(Condensing)====================
% s:  划分的子集数目
% Xn: 当前样本集
% Xcur: 当前样本集经一次迭代后的样本集
% Xi: 当前考试集
% Xr: 当前参考集
% K:  退出控制条件,迭代K次,若没有样本被剪辑掉,则退出
% =====================================================================
clearclose all;
X = [randn(3002)+ones(3002);...
     randn(3002)-ones(3002);];
X(1:3003)=1;X(301:6003)=2;
% ====================================================================
figure plot(X(1:3001)X(1:3002)‘r.‘)
hold onplot(X(301:6001)X(301:6002)‘b.‘)
title(‘初始样本分布图‘)
% ================================================================
s=3;Xcur=X;loop=0;Xold=X;K=5;
while loop    Xn=Xcur;
    Xold=Xcur;
    Xcur=[];
    [row1col]=size(Xn);
    uu=unifrnd(0srow11);%产生row1行1列的随机数,随机数的范围在0-s之间
    uu=ceil(uu);%取整,方向是使数据变大
    for i=1:s   %样本随机划分为s个子集
        Xi=Xn((uu==i):);%test set %Xi为考试集   
        r=mod(i+1s);%取余数
        if r==0
            r=s;
        end
        Xr=Xn((uu==r):);%reference set%Xr为训练集    
        [rowcol]=size(Xi);   
        j=1;
        while j<=row
            [rClassjClass]=NNforCondense(XrXi(j:));%用训练集中的样本对考试集中的样本进行最近邻分类
            if rClass~=jClass%如果类别不同,则从考试集中分类错误的样本去除
                Xi(j:)=[];                
                row=row-1;
            else
                j=j+1;
            end            
        end
        Xcur=[Xcur;Xi];
    end
    [oldRowcol]=size(Xold);
    [curRowcol]=size(Xcur);
    if oldRow==curRow       
        loop=loop+1;
    else
        loop=0;
    end
end 
% ================================================================
%把当前样本集Xcur中的元素按原类别分类
[rowcol]=size(Xcur);
Xcur1=[];Xcur2=[];
tic
for i=1:row    
    if Xcur(i3)==1
        Xcur1=[Xcur1;Xcur(i1:2)];       
    elseif Xcur(i3)==2
        Xcur2=[Xcur2;Xcur(i1:2)];     
    end
end
time1=toc;
figure plot(Xcur1(:1)Xcur1(:2)‘r.‘)
hold onplot(Xcur2(:1)Xcur2(:2)‘b.‘)
title(‘剪辑后样本分布图‘)
% ===================Condensing=================================
Xstore=Xcur(1:);
Xgab=Xcur(2:row:);
while 1
    Xoldstore=Xstore;
    [rowcol]=size(Xgab);
    j=1;
    while j<=row
        [sClassgClass]=NNforCondense(XstoreXgab(j:));
        if sClass~=gClass
            Xstore=[Xstore;Xgab(j:)];
            Xgab(j:)=[];
            row=row-1;
        else
            j=j+1;
        end
    end
    [oldRowcol]=size(Xoldstore);
    [curRowcol]=size(Xstore); 
    [gRowrCol]=size(Xgab);
    if oldRow==curRow | gRow*rCol==0
        break;
    end
end
Xcurstore1=[];Xcurstore2=[];
[curRowcol]=size(Xstore); 
for i=1:curRow
    if Xstore(i3)==1
        Xcurstore1=[Xcurstore1;Xstore(i1:2)];
    else
        Xcurstore2=[Xcurstore2;Xstore(i1:2)];
    end
end
figure plot(Xcurstore1(:1)Xcurstore1(:2)‘r.‘)
hold onplot(Xcurstore2(:1)Xcurstore2(:2)‘b.‘)
axis([-4 5-4 5]);
title(‘压缩后样本分布图‘)


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-28 14:19  knn_matlab\
     目录           0  2016-12-29 09:16  knn_matlab\Pattern Recognition\
     文件        3138  2016-12-29 09:56  knn_matlab\Pattern Recognition\Condensing.asv
     文件        3138  2016-12-29 09:56  knn_matlab\Pattern Recognition\Condensing.m
     文件        4969  2016-12-29 03:20  knn_matlab\Pattern Recognition\FastNN.asv
     文件        4760  2008-06-04 22:00  knn_matlab\Pattern Recognition\FastNN.m
     文件        1718  2008-06-04 21:58  knn_matlab\Pattern Recognition\Fisher.m
     文件        1324  2016-12-29 03:20  knn_matlab\Pattern Recognition\KNN.asv
     文件        1324  2008-06-04 21:58  knn_matlab\Pattern Recognition\KNN.m
     文件         594  2008-05-10 10:13  knn_matlab\Pattern Recognition\NNforCondense.m
     文件        1114  2008-06-28 20:29  knn_matlab\Pattern Recognition\ReadMe.txt
     文件        1267  2008-06-04 22:00  knn_matlab\Pattern Recognition\SinglePerceptron.m
     文件        1361  2008-06-04 21:59  knn_matlab\Pattern Recognition\Widrow_Hoff.m
     文件         928  2008-06-04 21:58  knn_matlab\Pattern Recognition\decisionTree.m
     文件         586  2008-06-04 22:08  knn_matlab\Pattern Recognition\main.m
     文件         221  2013-07-17 15:17  knn_matlab\readme_verysource.com.txt

评论

共有 条评论