先说结论,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,则支持缺失值,其分裂过程如下。
一、 训练阶段
在训练过程中,如果特征 f 0 f_0 f0出现了缺失值,处理步骤如下:
1、首先对于 f 0 f_0 f0