先说结论,XGBoost和LightGBM是支持缺失值的

由于XGBoost和LightGBM对缺失值的处理方法是相同的,因此我们只拿XGBoost来解读
建议大家看下论文,链接:https://www.kdd.org/kdd2016/subtopic/view/xgboost-a-scalable-tree-boosting-system
XGBoost是一种boosting的集成学习模型

支持的弱学习器(即单个的学习器,也称基学习器)有树模型(gbtree/dart,dart为引入dropout的树模型,下次将详解)和线性模型(gblinear),默认为gbtree。
1、 如果弱学习器为gblinear,由于线性模型不支持缺失值,会将缺失值填充为0;
2、如果弱学习器为gbtree或dart,则支持缺失值,其分裂过程如下。
一、 训练阶段

在训练过程中,如果特征f0f_0f0出现了缺失值,处理步骤如下:
1、首先对于f0f_0f0

本文详细解析了XGBoost如何在训练和预测阶段处理缺失值,包括在gbtree和gblinear模型中的不同策略。在训练阶段,缺失值根据特征非缺失值的分裂规则决定方向;预测阶段则依据训练阶段的记录进行划分。推荐阅读相关论文和源码以深入理解。
最低0.47元/天 解锁文章
838

被折叠的 条评论
为什么被折叠?



