K-NN算法

一、什么是K-NN算法?

K-NN算法即K-近邻算法,是机器学习中最简单的一种算法,也是监督学习的一种,可用来处理分类型问题。K-NN秉持“越相近越相似”的原理,其本质就是通过距离判断两个样本是否相似,距离越近越相似,如果足够相似就判定他们同属一个类别。

假设有一个新样本,我们需要确定它的标签类别。那么首先,找到离新样本最近的K个样本,这些样本称之为「近邻」(nearest neighbor);其次,查看这K个近邻分别属于什么类别(这些类别我们称之为「标签」(labels));最后,根据“少数服从多数,一点算一票”的原则进行判别,其中数量最多的标签类别就是新样本的标签类别。

简单总结就是两句话:“越相近越相似”,“少数服从多数,一点算一票”。

二、算法模型

从以上内容,可以看到K-NN就是通过距离来解决分类问题。它的整个算法结构是这样的:
第一步:算距离
给定测试对象Item,计算它与训练集中每个的对象的距离。
依据公式计算ItemD1,D2,…,Dj之间的相似度,得到Sim(Item,D1),Sim(Item,D2),…,Sim(Item,Dj)
第二步:找距离
圈定距离最近的k个训练对象,作为测试对象的近邻。
Sim(Item,D1),Sim(Item,D2),…,Sim(Item,Dj)进行排序,若是超过相似度阈值t,则放入邻居集合NN。
第三步:做分类
根据这k个近邻归属的主要类别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值