机器学习实战---KNN算法

KNN算法

(机器学习实战)

K-近邻算法采用测量不同特征值之间的距离方法进行分类。

工作原理:
  • 已有一个样本数据集,即训练集,并且训练集的每个数据都有其对应的分类标签。输入没有标签的新数据后,将新数据的每个特征与样本集中的数据对应的特征进行比较,然后算法提取样本集中特征最相似的数据的分类标签。也就是看最相近的k个数据的标签,通过多数表决的方式进行。
  • 这里的k-NN的k即为选择的样本数据集中的前k个最相似的数据,通常k设置为不大于20的整数

通过距离度量来计算查询点(query point)与每个训练数据点的距离,然后选出与查询点(query point)相近的K个最邻点(K nearest neighbors),使用分类决策来选出对应的标签来作为该查询点的标签。

例子:
  • 电影分类

    现在已知电影分类为动作电影和爱情电影,其中已有数据为每部电影的打斗镜头和接吻镜头的数量。如何通过已有数据对未知电影分类呢?

    可以先对已有数据进行大致的绘图:

    在这里插入图片描述
    很显然我们猜测未知电影应该是属于爱情片的。

    实际上kNN算法的思想就是如此简单,通过查看离未知点最近的k个点的标签来推测该点的标签

    用数学的方法表示:

    可以定义一种距离,根据具体的情况定义即可。在此用普通的欧拉距离(当然我觉得可以给每种属性一个权重,但是如何定义权重应该用先验知识和已知数据去共同决定
    d = ( A 1 − A 2 ) 2 + ( B 1 − B 2 ) 2 d=\sqrt{(A_{1}-A_{2})^2+(B_1-B_2)^2} d=(A1A2)2+(B1B2)2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值