KNN算法

KNN算法的核心思想:如果一个样本在特征空间中的k个最邻近的样本大多数属于某一类别,则该样本也属于该类别

KNN算法的结果很大程度上取决于K的取值,下面进行说明:

如果k=5 则上图中的红点属于三角形所属类,因为三角形所属类占3/5,而四边形类只占了2/5,如果k=11,则红点属于四边形类,四边形类占8/11,而三角形类占3/11

KNN中,样本的距离一般采用欧式距离或曼哈顿距离

 

欧式距离d(x,y)=sqrt(∑k=1 t0 n(xk-yk)2)

 

曼哈顿距离d(x,y)=sqrt(∑k=1 to nabs(xk-yk))

 

KNN算法的描绘:

(1) 计算测试数据与训练数据之间的距离

(2)将距离从小到大排序

(3)选取前K个样本

(4)确定K个样本所属类的频率

(5)将测试数据所属类标记为上述频率最高的类别

 

posted @ 2017-05-04 17:39  semen  阅读(195)  评论(0编辑  收藏  举报