前言:k最近邻算法(KNN)的算法思想十分简单,简单来说就是输入一个样本数据与已知标签的样本集(样本集中每条数据都有标签)做比较,找出与输入样本最相似的K个样本,在这K个样本中,选择出现次数最多的标签作为输入样本的标签。
正如下图中,输入样本以绿色表示,若k=3,也就是实线园所表示的范围,红色样本有2个,蓝色有1个。因此,输入样本标签为红色。若k=5,也就是虚线园所表示的范围,红色样本有2个,蓝色有3个。因此输入样本应该被标记为蓝色。
KNN算法MATLAB实现
function label = kNN(Inx,dataSet,labelSet,k)
% K近领域算法(KNN)的MATLAB实现
% 输入参数:Inx测试样本;dataSet样本对比库;labelSet样本对比库标签;k对比数量
% 输出参数:label测试样本输出标签