KNN分类算法补充

KNN补充:算法

一、K值设定为多大?性能

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

(对距离加权,能够下降k值设定的影响)测试

k值一般是采用交叉检验来肯定(以k=1为基准)spa

经验规则:k通常低于训练样本数的平方根效率

 

二、类别如何断定最合适?变量

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

 

三、如何选择合适的距离衡量?经验

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

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

 

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

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

也能够说是样本数据质量的问题

能够给不一样的样本施加不一样的权重,增强依赖样本的权重,下降不可信赖样本的影响

 

五、性能问题?

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

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

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

相关文章
相关标签/搜索