kNN分类器

参考:https://www.cnblogs.com/bigmonkey/p/7387943.html

  • 原理

给定一个多标签分类问题。有一些已知标签的数据,然后对未知对象打标签。k均值算法基于这样的假设:(1)距离越近的对象标签相同的概率越大,(2)对象标签分布具有局部一致性

既然局部是一致的,那么就用距离未知对象最近的k个已知对象的标签给出的分布的众数作为预测类别标签。

注意:1.在算距离前不同的特征需要去量纲,通常使用线性变换到[0,1]实现

           2.如果从假设(1)出发,考虑更为细致些,就可以设计一个与距离相关的加权贡献分布来替代原始算法的均匀贡献分布(原始算法中k个对象的贡献程度是均匀的),一般用高斯函数加权

问题:1.怎样的数据适合使用kNN算法,这样的数据如何取训练集合适?

           2.不同的特征重要程度可以不同,能不能通过赋予权重学习这个重要程度的分布?

      

  • 实践

使用《机器学习实战》中的代码,进行一定的改动。有数据1000例,从中随机选出[50, 500)例作为测试集,其余作为训练集,得到错误率的曲线图:(以下做了多次试验,因为有随机性所以曲线不同)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值