tree booster 参数2
11. tree_method
: 指定了构建树的算法,可以为下列的值:(默认为'auto'
)
'auto'
: 使用启发式算法来选择一个更快的tree_method
:- 对于小的和中等的训练集,使用
exact greedy
算法分裂节点 - 对于非常大的训练集,使用近似算法分裂节点
- 旧版本在单机上总是使用
exact greedy
分裂节点
- 对于小的和中等的训练集,使用
'exact'
: 使用exact greedy
算法分裂节点'approx'
: 使用近似算法分裂节点'hist'
: 使用histogram
优化的近似算法分裂节点(比如使用了bin cacheing
优化)'gpu_exact'
: 基于GPU
的exact greedy
算法分裂节点'gpu_hist'
: 基于GPU
的histogram
算法分裂节点
注意:分布式,以及外存版本的算法只支持 'approx','hist','gpu_hist'
等近似算法
12. sketch_eps
: 指定了分桶的步长。其取值范围为 (0,1)
, 默认值为 0.03 。
它仅仅用于 tree_medhod='approx'
。
它会产生大约 个分桶。它并不会显示的分桶,而是会每隔 sketch_pes
个单位(一个单位表示最大值减去最小值的区间)统计一次。
用户通常不需要调整该参数。
13. scale_pos_weight
: 用于调整正负样本的权重,常用于类别不平衡的分类问题。默认为 1。
一个典型的参数值为: 负样本数量/正样本数量
14. updater
: 它是一个逗号分隔的字符串,指定了一组需要运行的tree updaters
,用于构建和修正决策树。默认为 'grow_colmaker,prune'
。
该参数通常是自动设定的,无需用户指定。但是用户也可以显式的指定。
15. refresh_leaf
: 它是一个updater plugin
。 如果为 true
,则树节点的统计数据和树的叶节点数据都被更新;否则只有树节点的统计数据被更新。默认为 1
16. process_type
: 指定要执行的处理过程(如:创建子树、更新子树)。该参数通常是自动设定的,无需用户指定。
17. grow_policy
: 用于指定子树的生长策略。仅仅支持tree_method='hist'
。 有两种策略:
'depthwise'
: 优先拆分那些靠近根部的子节点。默认为'depthwise'
'lossguide'
: 优先拆分导致损失函数降低最快的子节点
18. max_leaves
: 最多的叶子节点。如果为0,则没有限制。默认值为 0 。
该参数仅仅和grow_policy='lossguide'
关系较大。
19. max_bin
: 指定了最大的分桶数量。默认值为 256 。
该参数仅仅当 tree_method='hist','gpu_hist'
时有效。
20. predictor
: 指定预测器的算法,默认为'cpu_predictor'
。可以为:
'cpu_predictor'
: 使用CPU
来预测'gpu_predictor'
: 使用GPU
来预测。对于tree_method='gpu_exact,gpu_hist'
,'gpu_redictor'
是默认值。
学员评价