ML:Scikit-Learn 学习笔记(2) --- Nearest Neighbors 最近邻 分类

1 最近邻分类

使用最近邻进行归类,是基于输入样本的,他和其他算法不一样,最近邻不会试图去构造一个泛化的模型,而只是去简单的使用输入训练集的所有数据。对于输入的测试数据(点)最近邻一般都是找到和他在空间中距离最相近的一些点,通过投票决定其最终的分类。

在scikit-learn当中,提供了两种不同的实现。其中KNeighborsClassifier ,实现了最近K邻(KNN)的算法,即考虑和输入点最接近的K个点,K可以由用户指定。另外一个则是RadiusNeighborsClassifier ,他考虑的是输入点为圆心,半径在r以内的所有点,同样的r,也可以由用户定义。

不过在一般的实际应用当中,KNN使用的更多一些,而在KNN中,k值的选择是很重要的,而k值具体怎么选择,一般和需要训练的数据有较大关系,较大的k可以容忍较多的噪声,但是会使得分类的结果变的不那么精确。
但是,当我们需要训练的数据不那么规范的时候RadiusNeighborsClassifier (RN)会是一个更好的选择,当用户确定了一个半径之后,这些在半径之内的点都会被考虑,对于一些高维空间,RN的效率会受到影响,这也是一种“维度之殇”了吧。

最基本的最近邻算法当中,通常用的都是一个统一的权重,即在最终的投票过程中,所有参与投票的点权重都是一样的,而在某些情况下,让距离更近的点有一个更大的权重,则会是更好的选择。对于这种改变权重的做法,可以通过修改scikit-learn里的参数,使用参数weights = ‘unifor

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值