(转)K-近邻算法(KNN)

K-近邻算法(KNN)概述  html

KNN是经过测量不一样特征值之间的距离进行分类。它的思路是:若是一个样本在特征空间中的k个最类似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K一般是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。算法

 

     下面经过一个简单的例子说明一下:以下图,绿色圆要被决定赋予哪一个类,是红色三角形仍是蓝色四方形?若是K=3,因为红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,若是K=5,因为蓝色四方形比例为3/5,所以绿色圆被赋予蓝色四方形类。测试

 

由此也说明了KNN算法的结果很大程度取决于K的选择。spa

     在KNN中,经过计算对象间距离来做为各个对象之间的非类似性指标,避免了对象之间的匹配问题,在这里距离通常使用欧氏距离或曼哈顿距离:htm

                      

同时,KNN经过依据k个对象中占优的类别进行决策,而不是单一的对象类别决策。这两点就是KNN算法的优点。对象

   接下来对KNN算法的思想总结一下:就是在训练集中数据和标签已知的状况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为类似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:blog

1)计算测试数据与各个训练数据之间的距离;排序

2)按照距离的递增关系进行排序;it

3)选取距离最小的K个点;方法

4)肯定前K个点所在类别的出现频率;

5)返回前K个点中出现频率最高的类别做为测试数据的预测分类。

 

 转自于:https://www.cnblogs.com/ybjourney/p/4702562.html

相关文章
相关标签/搜索