树模型中的缺失值处理

参考链接 :https://www.zhihu.com/question/58230411

1. Xgboost

XGBoost处理缺失值,是将所有有缺失值的数据捆绑在一起,比较将这些数据都放入左子树和都放入右子树时的损失大小。最终将数据分到损失小的那一列。

2. 决策树

三个问题:

1. 在选择分裂属性的时候,训练样本存在缺失值,如何处理?

2. 在建树过程中,给定划分属性,若样本在该属性上的值是缺失的,那么该如何对这个样本进行划分?

3. 训练完成,给测试集样本分类,有缺失值怎么办?

Ans: 

1、2: 前两个问题,参考文献:https://blog.csdn.net/u012328159/article/details/79413610

3. 针对第三个问题,通常选择样本数最多的特征值方向。

3. 总结

1. 树模型对缺失值的敏感性较低,大部分基于树的算法可在数据有缺失时使用

2. 涉及到距离度量的算法对缺失值的敏感度较高,处理不当时,模型效果较差,如KNN、SVM等

3. 线性模型的代价函数往往涉及到距离的计算,将容易导致模型对异常值敏感。

4. 数据量较大时,可以考虑使用神经网络,神经网络对缺失值的敏感度交差。

5. 数据量较小时,可以使用贝叶斯模型

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容