什么样的模型对缺失值更敏感?

https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/78265671


主流的机器学习模型千千万,很难一概而论。但有一些经验法则(rule of thumb)供参考:

1. 树模型对于缺失值的敏感度较低,大部分时候可以在数据有缺失时使用。

2. 涉及到距离度量(distance measurement)时,如计算两个点之间的距离,缺失数据就变得比较重要。因为涉及到“距离”这个概念,那么缺失值处理不当就会导致效果很差,如K近邻算法(KNN)和支持向量机(SVM)。

3. 线性模型的代价函数(loss function)往往涉及到距离(distance)的计算,计算预测值和真实值之间的差别,这容易导致对缺失值敏感。

4. 神经网络的鲁棒性强,对于缺失数据不是非常敏感,但一般没有那么多数据可供使用。

5. 贝叶斯模型对于缺失数据也比较稳定,数据量很小的时候首推贝叶斯模型。

6. 总结来看,对于有缺失值的数据在经过缺失值处理后:

(1) 数据量很小,用朴素贝叶斯

(2) 数据量适中或者较大,用树模型,优先 xgboost

(3) 数据量较大,也可以用神经网络

(4) 避免使用距离度量相关的模型,如KNN和SVM

你可能感兴趣的:(机器学习)