KNN算法简介

KNN(K Nearest Neighbor)算法

一、算法思想:

假设一个样本空间里的样本分成几个类型[1],然后给定一个待分类的数据,通过计算距离该数据最近的K个样本来判断这个待分类数据属于哪个分类。简单的说,就是由那些里自己最近的K个样本点投票决定待分类数据归为哪一类。

 

二、实例说明:

下图中有两种类型的样本数据,一类是蓝色的正方形,另一类是红色的三角形,中间那个绿色的圆形是待分类数据;

clip_image002

1 KNN算法示例

如果K=3,那么离绿色点最近的有2个红色的三角形和1个蓝色的正方形,这三个点进行投票,于是绿色的待分类点就属于红色的三角形。

如果K=5,那么离绿色点最近的有2个红色的三角形和3个蓝色的正方形,这五个点进行投票,于是绿色的待分类点就属于蓝色的正方形。

 

三、算法描述

KNN算法的步骤可以描述为[2]

1、计算出样本数据和待分类数据的距离;

2、为待分类数据选择K个与其距离最小的样本;

3、统计出K个样本中大多数样本所属的分类;

4、这个分类就是待分类数据所属的分类。

 

四、注意事项:

K应该设置为一个奇数,这样可以保证投票的时候不会有平票。

 

参考文献:


[1] 《K Nearest Neighbor 算法》 http://coolshell.cn/articles/8052.html

[2] 《数据挖掘之分类 (KNN算法的描述及使用)》 http://ahuaxuan.iteye.com/blog/164435

posted @ 2013-07-25 09:46  ChaoSimple  阅读(7870)  评论(1编辑  收藏  举报