K-近邻算法(KNN)
1、K-近邻算法(KNN)概述
KNN是通过测量不同特征值之间的距离进行分类。
它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别
KNN算法的结果很大程度取决于K的选择。
eg:
下面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3(小圈有除去绿色⚪还有三个图形,红色🔺两个所以他就属于红色(下面比例同理)),绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
下来对K-近邻算法思想总结一下:
在训练集中数据和标签都知道的情况下(就是上面蓝绿红三个颜色位置都知道),输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:
步骤:
1、计算测试数据和各个训练数据的距离
2、按照距离的大小排序
3、选取距离最小的k
4、确定前K个点所在类别的出现频率;
5、返回前K个点中出现频率最高的类别作为测试数据的预测分类。