Day23_【机器学习—集成学习(5)—Boosting—XGBoost算法】
极端梯度提升树,与传统的梯度提升决策树(GBDT)相比,XGBoost通过引入正则项来控制模型的复杂性,防止过拟合。
一、XGBoost算法步骤
步骤:
- 在损失函数的基础上+正则化项 !!!推推推,推不动了,想到泰勒展开二项式.
- 基于泰勒展开二项式进行转换,转换为近似函数!!!转转转发现做不动了,把问题从样本 的角度转换为叶节点的角度!!!
- 把问题从样本角度->叶子节点角度进行分析
- 得到最终结果,打分函数->Gain值=拆分前分-(拆分后的左子树分+拆分后的右子树分) Gain值分越小越好
二、XGBoost算法推导
三、XGBoost算法API
XGB的安装和使用
在sklean机器学习库中没有集成xgb,想要使用xgb,需要手工安装
pip3 install xgboost -i 镜像
可以在xgb的官网上查看最新版本:https://xgboost.readthedocs.io/en/latest/
XGB的编码风格
- 支持非sklearn方式,也即是自己的风格
- 支持sklearn方式,调用方式保持sklearn的形式