Xgboost如何处理缺失值

时间:2022-12-20 22:35:31

Xgboost

Xgboost简介

Xgboost[1]是由陈天奇提出的一种集成学习方法,要想了解Xgboost,这里建议先了解决策树,再了解GBDT(Gradient boosting descent tree)即梯度提升树,再学习理解Xgboost。推荐学习方式,阅读[1]这篇论文,你将对Xgboost如何处理缺失值,以及模型复杂度控制有更加深刻的理解(注:对论文中正则化方式有疑问,可留言讨论)。

Xgboost缺失值处理

Xgboost如何处理缺失值呢,最简单直观的方式可以通过下面这个算法流程来表示。实际处理时,可以将缺失值设置成missing=-999或missing=-9999。

Xgboost如何处理缺失值


这里解释一下:这个算法流程图参考[1],是陈天奇在论文“XGBoost: A Scalable Tree Boosting System”中提出来的,通过自动学习,得出最优分裂方向。

在机器学习领域,也有很多其他缺失值处理的方式,这里大概列举一下,包括求均值,补0,插值的方法,one-hot编码等。


参考文献:

[1] T. Chen, C. Guestrin, "XGBoost: A Scalable Tree Boosting System" Acm Sigkdd International Conference on Knowledge Discovery & Data Mining, pp.785-794, 2016.点击打开链接