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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值