zoukankan      html  css  js  c++  java
  • KNN分类算法补充

    KNN补充:

    1、K值设定为多大?

    k太小,分类结果易受噪声点影响;k太大,近邻中又可能包含太多的其它类别的点。

    (对距离加权,可以降低k值设定的影响)

    k值通常是采用交叉检验来确定(以k=1为基准)

    经验规则:k一般低于训练样本数的平方根

    2、类别如何判定最合适?

    加权投票法更恰当一些。而具体如何加权,需要根据具体的业务和数据特性来探索

    3、如何选择合适的距离衡量?

    高维度对距离衡量的影响:众所周知当变量数越多,欧式距离的区分能力就越差。

    变量值域对距离的影响:值域越大的变量常常会在距离计算中占据主导作用,因此应先对变量进行标准化。

    4、训练样本是否要一视同仁?

    在训练集中,有些样本可能是更值得依赖的。

    也可以说是样本数据质量的问题

    可以给不同的样本施加不同的权重,加强依赖样本的权重,降低不可信赖样本的影响

    5、性能问题?

    KNN是一种懒惰算法,平时不好好学习,考试(对测试样本分类)时才临阵磨枪(临时去找k个近邻)。

    懒惰的后果:构造模型很简单,但在对测试样本分类的系统开销大,因为要扫描全部训练样本并计算距离。

    已经有一些方法提高计算的效率,例如压缩训练样本量等。

     

  • 相关阅读:
    go装饰器
    python属性描述符和属性查找过程
    python property动态属性
    python中is 与 ==的区别
    python变量到底是什么
    python对象的可变性
    python sorted函数
    《Note --- UE4 --- Blueprint_Overview_HowTo》
    《Temporal AA , SMAA and MSAA》
    TODO
  • 原文地址:https://www.cnblogs.com/ahu-lichang/p/7152567.html
Copyright © 2011-2022 走看看