tree booster 参数1
针对tree booster 的参数(适用于booster=gbtree,dart) :
1. eta: 也称作学习率。默认为 0.3 。范围为 [0,1]
2. gamma: 也称作最小划分损失min_split_loss。 它刻画的是:对于一个叶子节点,当对它采取划分之后,损失函数的降低值的阈值。
- 如果大于该阈值,则该叶子节点值得继续划分
- 如果小于该阈值,则该叶子节点不值得继续划分
该值越大,则算法越保守(尽可能的少划分)。默认值为 0
3. max_depth: 每棵子树的最大深度。其取值范围为 [0, ∞] , 0 表示没有限制,默认值为6。
该值越大,则子树越复杂;值越小,则子树越简单。
4. min_child_weight: 子节点的权重阈值。它刻画的是:对于一个叶子节点,当对它采取划分之后,它的所有子节点的权重之和的阈值。
- 如果它的所有子节点的权重之和大于该阈值,则该叶子节点值得继续划分
- 如果它的所有子节点的权重之和小于该阈值,则该叶子节点不值得继续划分
所谓的权重:
- 对于线性模型(
booster=gblinear),权重就是:叶子节点包含的样本数量。 因此该参数就是每个节点包含的最少样本数量。 - 对于树模型(
booster=gbtree,dart),权重就是:叶子节点包含样本的所有二阶偏导数之和。
该值越大,则算法越保守(尽可能的少划分)。默认值为 1
5. max_delta_step: 每棵树的权重估计时的最大delta step。取值范围为 ,0 表示没有限制,默认值为 0 。
通常该参数不需要设置,但是在逻辑回归中,如果类别比例非常不平衡时,该参数可能有帮助。
6. subsample: 对训练样本的采样比例。取值范围为 (0,1],默认值为 1 。
如果为 0.5, 表示随机使用一半的训练样本来训练子树。它有助于缓解过拟合。
7. colsample_bytree: 构建子树时,对特征的采样比例。取值范围为 (0,1], 默认值为 1。
如果为 0.5, 表示随机使用一半的特征来训练子树。它有助于缓解过拟合。
8. colsample_bylevel: 寻找划分点时,对特征的采样比例。取值范围为 (0,1], 默认值为 1。
如果为 0.5, 表示随机使用一半的特征来寻找最佳划分点。它有助于缓解过拟合。
9. lambda: L2 正则化系数(基于weights的正则化),默认为 1。 该值越大则模型越简单
10. alpha: L1 正则化系数(基于weights的正则化),默认为 0。 该值越大则模型越简单
学员评价