kNN算法有哪些缺点?

  统计/机器学习 监督式学习 开放问题    浏览次数:10049        分享

kNN算是比较早期的算法了,但是业界似乎用的并不多,kNN有哪些明显的缺点或者短板吗

欢迎开放讨论


 

吴昊通   2018-01-16 23:30



   6个回答 
16

KNN属于懒惰算法,对测试样本分类时的计算量大,内存开销大,评分慢

可解释性较差,无法给出决策树那样的规则。

kNN算法必须保存全部的数据集,如果训练数据集很大,那么就需要耗费大量的存储空间。此外,由于必须对待分类数据计算与每一个训练数据的距离,非常耗时。


SofaSofa数据科学社区DS面试题库 DS面经

博观   2018-01-17 20:04

11

1. 计算代价很大

2. 无法处理categorical变量

3. 对变量的缩放非常敏感

4. 难以处理不同单位和不同数值范围的变量

5. 对高维数据表现不佳

SofaSofa数据科学社区DS面试题库 DS面经

Jiho   2018-01-18 12:24

9

kNN还有个问题就是k的选择。k总是在过拟合与欠拟合之间游走。

你可以说通过cross validation来选k,可是呢,你选出的k是全局适用的,而每个局部都是这个k最佳。

所以kNN总是无法避免地在一些区域过拟合,同时在另一些区域欠拟合。


SofaSofa数据科学社区DS面试题库 DS面经

abuu   2018-01-26 11:26

7

不能调参算缺点么?

比较牛的模型,一般都有很多参数可以调,比如神经网络或者xgboost。

但是对于K近邻模型来说,本来水平就一般,连参数也只有一个k可以调,就显得有点弱上加弱了。


SofaSofa数据科学社区DS面试题库 DS面经

Arsjun   2018-01-27 15:24

6

k-NN怕高维啊怕高维啊怕高维,说三遍

特别是遇到没什么用的特征,k-NN会不知所措,而且被那些没有什么prediction power的特征牵着鼻子走。

所以k-NN必须要先做特征选择,不然这些不相关的特征会影响到分类效果,因为k-NN自己无法学习到哪些特征重要、哪些不重要


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2018-02-25 11:44

对,高维和不相干特征的影响,这个是要害。 - 木子周   2018-04-06 11:12
3

如果用K近邻模型做回归的话,一个比较明显的缺陷,就是K-NN无法做out of sample的回归预测。

因为用K-NN做回归的时候,预测值是它附近几个值的平均值。所以预测值不可能超过预测样本的最大值,也不可能小于样本的最小值。这个缺点其实是和回归树一样的。


SofaSofa数据科学社区DS面试题库 DS面经

TTesT   2018-02-24 09:42



  相关讨论

决策树有哪些缺点?

tsne被忽视?tsne有什么缺点?

K Means算法有哪些缺陷、劣势?

相比xgboost,GBDT有什么优势

最小二乘法与最小二乘支持向量回归的优劣

二阶优化算法比一阶的优化算法比有什么优缺点?

随机森林(random forest)和支持向量机(SVM)各有什么优劣

坐标下降法和最小角回归求取L1范数正则化问题时的优劣?

在使用PCA降维时,有哪些坑?

激活函数ReLU和Sigmoid的优劣对比

  随便看看

为什么过拟合不好?

laplace光滑什么意思

概率论中的鞅是什么?

如果样本不是正态分布,还能用t-test或者z-test吗?

Random Forest可以用来做聚类?