模式识别中K-近邻法的Matlab代码

这是一个使用Matlab实现的K-近邻(K-Nearest Neighbor, KNN)分类算法。该算法基于欧氏距离,用于处理两类不同分布的二维正态数据。代码包括了数据生成、测试样本分布图绘制以及KNN分类过程,通过比较测试样本到两类样本点的距离,确定其分类。结果以判别矩阵形式展示分类效果。" 115286248,10832410,使用栈遍历地图的C语言实现,"['数据结构', '栈', 'C语言', '算法', '地图遍历']
摘要由CSDN通过智能技术生成
function K_Nearest_Neighbor_Classification
%偶4年前的《模式识别》作业:2008年4月24日
%采用K-近邻法,距离为欧氏距离
%算法视线见《模式识别》P140-P142(各类样本的协方差不相等)
%本问题中取的测试样本数均为50
%N=input('测试样本数 N= ');
K=input('选择近邻的个数(K<=200) K= ');
%随机生成二维正态分布
% X1(:,1)=normrnd(2,sqrt(2),300,1);X1(:,2)=normrnd(3,1,300,1); %N X 2
% X2(:,1)=normrnd(5,2,200,1);X2(:,2)=normrnd(7,sqrt(2),200,1);
X1=mvnrnd([2 3],[2 0;0 1],300);
X2=mvnrnd([5 7],[4 0;0 2],200);
%测试样本
X10=mvnrnd([2 3],[2 0;0 1],50);
X20=mvnrnd([5 7],[4 0;0 2],50);
% N=length(X10);%测试样本个数
% %描绘测试样本各点分布图
for i=1:length(X10)
    if i<=length(X20)
        plot(X10(i,1),X10(i,2),'rO','LineWidth',2),hold on
        plo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值