泛统计理论初探——KNN

数据挖掘-knn

KNN算法

KNN算法是机器学习里较为简单和初级的算法,也称为最近邻算法。可以算的上是学习数据挖掘的入门算法,在大赛中,该算法一般用来作为插值来用,一般不会直接使用该算法来进行预测。
众所周知,对于KNN算法可以这样理解,该算法是基于一种现有的数据分布来作为判别依据,当一条数据进来时,通过之前确定的参数k去统计,距离这个点最近的k个点的类别,选择次数最多的类别作为新数据的类别。
对于这种算法,下述图片能很好的说明:
knn的k值选取示意图
在上述的图片中,A、B、C、D为已有数据的类型,当新数据x进入时,如果用户将k定为4,那么将统计最近4个点的类别,即蓝圈内的类别,出现次数最高的是A,那么新数据x的类别将被判定为A。如果用户将k定为8,那么将统计最近8个点的类别,即红圈内的类别,出现次数最高的是B,那么新数据x的类别将被判定为B。

所以对于k的选取是非常重要的,而根据实际的数据集,选取的k是不一样的。从某种意义来说,k的值不是越大越好,应该取某个范围内,建议k取值为2~10。
从另一个方面来说,如何衡量距离当前点最近的标准也是非常重要的。因为距离的计算公式将直接决定哪些点是最近的。距离的公式有很大,比如曼哈顿距离(绝对值之差)、平方距离、三次方距离、几何平均距离等。这些距离本质上是1-范数、2-范数、3-范数、p-范数。一般比赛采用曼哈顿距离和平方距离较多࿰

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值