K近邻算法,Matlab实现

您所在的位置:网站首页 MATLABk聚类回归预测 K近邻算法,Matlab实现

K近邻算法,Matlab实现

2024-07-10 21:48| 来源: 网络整理| 查看: 265

邻近算法: K近邻:通过计算测试样本与训练样本之间的距离,然后找出距离测试样本最近的K个样本,统计他们的结果,哪种类型的的结果出现的次数多则预测测试样本的结果为此结果;代码如下

function label1=KNN(training,testing,k) [row, column]=size(training); [row1, column1]=size(testing); %计算测试集与训练集的距离 distance=[]; for i=1:row1 distance(i,:)=sum((repmat(testing(i,:),row,1)-training(:,1:(column-1))).^2, 2); end % 寻找K近邻 label=[];%存储距离测试样本最近的K个值 for i=1:row1 [a,b]=sort(distance(i,:));%排序,b存储distance中值的原横坐标 for j=1:k label(i,j)=training(b(j),column); end end cl=zeros(1,100); count=1; cl(1,1)=training(1,column);%统计预测结果类型 for i=2:row A=training(i,column); flag=0; for j=1:count if cl(1,j) ==A flag=1; break; end end if flag==0 count=count+1; cl(1,count)=A; end end end_count=zeros(row1,count);%统计某个结果出现的次数 for i=1:row1 for j=1:k for l=1:count if label(i,j)==cl(1,l) end_count(i,l)=end_count(i,l)+1; end end end end cou=0; label1=[];%统计预测结果 for i=1:row1 k=1; num=end_count(i,1); for j=2:count if num


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3