CART树
CART是决策树算法之一,它可用于分类问题也可用于回归问题。它与ID3、C4.5等算法不同的是,在节点分支的时候,它每次仅分成左、右两个节点,即它假设决策树是二叉树。另外,它在选择最优分割变量与最优分割点的准则也有所不同
算法原理
CART树的生成就是递归地构建二叉决策树的过程。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。
损失函数
分裂结点算法
基于空间切分去构造一颗决策树是一个NP难问题,我们不可能去遍历所有树结构,因此,XGBoost使用了和CART回归树一样的想法,利用贪婪算法,遍历所有特征的所有特征划分点,不同的是使用上式目标函数值作为评价函数。具体做法就是分裂后的目标函数值比单子叶子节点的目标函数的增益,同时为了限制树生长过深,还加了个阈值,只有当增益大于该阈值才进行分裂
正则化
正则项用于控制模型的复杂度,也就是防止模型过拟合
对缺失值处理
当样本的第i个特征值缺失时,无法利用该特征进行划分时,XGBoost的想法是将该样本分别划分到左结点和右结点,然后计算其增益,哪个大就划分到哪边
优缺点
1)GBDT在优化时只用到一阶导数,xgBoosting对代价函数做了二阶Talor展开,引入了一阶导数和二阶导数;
2)当样本存在缺失值是,xgBoosting能自动学习分裂方向;
3)xgBoosting
任务三 XGB算法梳理
最新推荐文章于 2024-02-08 13:31:03 发布
本文详细介绍了CART树的原理,XGBoost在构建决策树时采用的贪婪算法和目标函数,以及如何处理缺失值。XGBoost相比GBDT的优势包括二阶导数优化、自动处理缺失值、列抽样、正则化等。此外,文章还提到了XGBoost在实际应用中的参数调整,如booster、silent和scale_pos_weight等。
摘要由CSDN通过智能技术生成