K-近邻算法(KNN)

K-近邻算法(KNN)是一种基于实例的学习,通过找到最近邻来决定分类。K值的选择对结果影响显著,过小易受异常点干扰,过大则可能反映样本不均衡。KNN优点包括简单、无需训练,但缺点是需指定K值且计算量大。适用场景为小数据集。本文介绍了KNN在鸢尾花数据集上的应用,并结合交叉验证和网格搜索优化K值,以提高模型准确性。
摘要由CSDN通过智能技术生成

KNN分类算法

KNN核心思想:
            你的"邻居"来推断出你的类别

如果取的最近的点数量不一样?会是什么结果?
                k 值取得过小,容易受到异常点的影响
                k 值取得过大,样本不均衡的影响

优点:简单,易于理解,易于实现,无需训练
缺点:
    1)必须指定K值,K值选择不当则分类精度不能保证
    2)懒惰算法,对测试样本分类时的计算量大,内存开销大
使用场景:小数据场景,几千~几万样本,具体场景具体业务去测试

API

sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')
    n_neighbors:k值
    algorithm:{'auto', 'ball_tree', 'kd_tree', 'brute'}, 
    可选用于计算最近邻居的算法:
        'ball_tree':将会使用BallTree
        'kd_tree':将会使用KDTree
        'auto':将尝试根据传递给fit方法的值来决定最合适的算法。
        (不同实现方式影响效率)

<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值