KNN K最近邻算法

  K Nearest Neighbor,KNN,K最近邻算法。


  算法原理:

    (1)计算未知类别数据点与已知类别数据点之间的距离,并按降序排序。

    (2)选取与未知类别数据点距离最小的k个点。

    (3)以k个点中出现频率最高的类别作为未知类别数据点的类别。

    注意:k一般选择奇数,因为最后要进行少数服从多数的投票。


  距离计算:

    n维空间上两点 a(x1,x2,x3......xn) b(y1,y2,y3......yn) 的欧式距离公式:

d=(x1y1)2+(x2y2)2+...+(xnyn)2

    其他距离衡量方法:余弦值cos、相关度correlation (如皮尔逊相关系数)、曼哈顿距离Manhattan distance。


  KNN算法的优缺点:

    优点:

      简单,容易理解和实现,可通过增大K增强对噪音的健壮性

    缺点:

      1、算法的复杂度高,即算法所需要的内存多、时间高。

      2、当样本分布不平衡时,未知类别点容易被归类为主导样本。

    改进:

      考虑权重,如1/d (d:距离)


  应用举例:

    (1)根据打斗镜头数和接吻镜头数判断电影是爱情片、动作片。

    (2)在线约会网站寻找最合适的约会对象

    (3)手写数字识别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值