目录
1.算法概述
KNN的本质是通过距离判断待测样本和已知样本是否相似。待测样本找到与已知样本中与其距离最近的K个样本,对这k个样本,它们大多数属于哪一类别,就把待测样本归为哪一类别。KNN是通过测量不同特征值之间的距离进行分类。它的的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。K通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。
邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的
本文介绍了KNN数据分类算法的基本原理,并展示了在MATLAB 2022a中的仿真效果。通过计算测试数据与训练数据的距离,选取最近的K个点,根据这些点的类别频率预测新样本的分类。MATLAB仿真源码也一同提供。
订阅专栏 解锁全文
7079

被折叠的 条评论
为什么被折叠?



