资源简介
多个模式识别算法的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
- 上一篇:粒子群优化算法Matlab源程序
- 下一篇:谱估计 MUSIC算法 matlab程序
相关资源
- matlab代码KNN,层次聚类,C均值,最邻
- KNN算法的Matlab实现
- KNN,Matlab代码
- matlab-KNN分类器
- KNN算法代码
- SVM+SFS+KNN+SBS+LASSO+SRC算法matlab版
- 基于LDA(fisherface)和KNN的人脸识别
- knn matting 国外写的knn-matting
- knn算法matlab实现
- 基于近邻KNN算法的分类器matlab实现
- 用KNN仿真WiFi室内定位
- pca_knn 本方法采用pca进行特征提取
- text-classification 分别使用最近邻(KN
- knnsearch 利用matlab实现就近点邻域寻找
- Fingerprint-localization--code 室内指纹定位
- adaboostPknnPlbp
- KNN算法matlab,wine分类
- MATLAB中KNN聚类方法
- KNN search
- 基于matlab数据挖掘分类算法研究,十
评论
共有 条评论