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)分类代码

相关推荐
人类发明了工具7 分钟前
【优化算法】协方差矩阵自适应进化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)
线性代数·算法·矩阵·cma-es
黑色的山岗在沉睡10 分钟前
LeetCode100.4 移动零
数据结构·算法·leetcode
方博士AI机器人29 分钟前
算法与数据结构 - 二叉树结构入门
数据结构·算法·二叉树
-qOVOp-38 分钟前
zst-2001 上午题-历年真题 算法(5个内容)
算法
77tian42 分钟前
MATLAB安装全攻略:常见问题与解决方案
matlab
全栈凯哥1 小时前
Java详解LeetCode 热题 100(17):LeetCode 41. 缺失的第一个正数(First Missing Positive)详解
java·算法·leetcode
电力程序小学童1 小时前
【重磅】配电网智能软开关和储能联合规划
matlab·配电网·储能·优化配置·sop·智能软开关·33节点系统
ai.Neo1 小时前
牛客网NC22157:牛牛学数列2
数据结构·c++·算法
Nobkins2 小时前
2023CCPC河南省赛暨河南邀请赛个人补题ABEFGHK
开发语言·数据结构·c++·算法·图论
王RuaRua2 小时前
[数据结构]7. 堆-Heap
c语言·数据结构·算法·链表