kNN算法有哪些缺点?

  统计/机器学习 监督式学习 开放问题    浏览次数: 1930
6

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

欢迎开放讨论


 

吴昊通   2018-01-16 23:30



   6个回答 
14

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

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

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


博观   2018-01-17 20:04

10

1. 计算代价很大

2. 无法处理categorical变量

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

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

5. 对高维数据表现不佳


Jiho   2018-01-18 12:24

9

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

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

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


abuu   2018-01-26 11:26

7

不能调参算缺点么?

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

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


Arsjun   2018-01-27 15:24

6

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

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

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


sasa   2018-02-25 11:44

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

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

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


TTesT   2018-02-24 09:42



  相关主题

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

决策树有哪些缺点?   2回答

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

相比xgboost,GBDT有什么优势   2回答

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

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

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

Probit model和Logit model的区别是什么?   0回答

哪些机器学习分类模型适用于小数据?   2回答

SVM模型的可解释性如何?   1回答

为什么bias-variance一定会trade off?   2回答

机器学习算法中有哪些用到了贪婪算法的思想?   5回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!