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。 该值越大则模型越简单
学员评价