MATLAB分类与判别模型算法:K-近邻法(KNN)分类代码 【含Matlab源码 MX_001期】

算法简介:

K-近邻法(KNN)是一种简单而有效的分类算法,也可用于回归问题。它的基本原理是根据待分类样本与训练样本的距离,选取最近的K个样本进行投票决定分类。该算法无需训练过程,而是利用训练数据集直接进行预测。KNN算法简单易懂,对于非线性问题有很好的适应性,但对于大型数据集计算量较大。在MATLAB中,可以使用fitcknn函数来训练KNN分类模型,使用predict函数对新样本进行预测。

部分代码:

Matlab 复制代码
x=randn(1,2);%待判样本
hold on,plot(x(1),x(2),'m+','MarkerSize',10,'LineWidth',2)
for i=1:2*N
    dist(i)=norm(x-X(i,:));
end
[Sdist,index]=sort(dist,'ascend');
K=5; %近邻数目 
for i=1:K
    hold on,plot(X(index(i),1),X(index(i),2),'ko');
end
legend('Cluster 1','Cluster 2','x','Location','NW')
flag1=0;flag2=0;
for i=1:K
    if ceil(index(i)/N)==1
        flag1=flag1+1;
    elseif ceil(index(i)/N)==2
        flag2=flag2+1;
    end
end
disp(strcat('K近邻中包含',num2str(flag1),'个第一类样本'));
disp(strcat('K近邻中包含',num2str(flag2),'个第二类样本'));
if flag1>flag2
    disp('判断待判样本属于第一类');
else
    disp('判断待判样本属于第二类');
end

结果展示:

代码获取:MATLAB分类与判别模型算法:K-近邻法(KNN)分类代码

相关推荐
2301_822782821 分钟前
嵌入式C++调试技术
开发语言·c++·算法
2301_776508723 分钟前
实时信号处理库
开发语言·c++·算法
hans汉斯5 分钟前
基于污点分析的PHP应用威胁检测平台
开发语言·人工智能·算法·yolo·目标检测·php·无人机
爱思德学术5 分钟前
IEEE会议,录用率25.2%!CCF推荐学术会议(C)
计算机网络·算法·编程·软件工程·软件需求
大尚来也9 分钟前
Java 线程池深度解析:ThreadPoolExecutor 七大参数与核心原理
java·python·算法
思茂信息16 分钟前
CST电磁铁的磁力仿真
开发语言·matlab·平面·cst·电磁仿真
listhi52025 分钟前
基于模型预测控制的自动避障与汽车跟踪MATLAB实现
人工智能·matlab·汽车
cpp_250127 分钟前
P8395 [CCC 2022 S1] Good Fours and Good Fives
数据结构·c++·算法·动态规划·图论·题解·洛谷
AI科技星33 分钟前
基于空间光速螺旋第一性原理的电荷本源定义与电场时空协变方程的完整推导、严格证明及全尺度数值验证
c语言·开发语言·算法·机器学习·数据挖掘
云泽80839 分钟前
蓝桥杯算法精讲:深剖分治算法及其经典应用
算法·职场和发展·蓝桥杯