Tree Booster 的参数

1、eta[默认=0.3,别名:learning_rate],范围:[0,1]
更新中使用减小步长以防止过度拟合。在每一步 boosting 之后,我们可以直接得到新特征的权重,并eta减小特征权重,使 boosting 过程更加保守
2、gamma[默认=0,别名:min_split_loss],范围:[0,∞]
在树的叶子节点上进行进一步分裂所需的最小损失减少。越大gamma,算法就越保守。
3、max_depth [默认=6],范围:[0,∞]
树的最大深度。增加此值将使模型更复杂,更可能过拟合。仅当tree_method设置为hist或gpu_hist且表示没有深度限制时,lossguided Growth策略中才接受0。请注意,XGBoost在训练深层树时会大量消耗内存。
4、min_child_weight [默认值=1],范围:[0,∞]
子实例所需的最小实例权重总和(hessian)。如果树分裂步骤导致叶节点的实例权重之和小于min_child_权重,则构建过程将放弃进一步的分裂。在线性回归任务中,这仅仅对应于每个节点中需要的最小实例数。min_child_weight越大,算法越保守。
5、max_delta_step [default=0],范围: [0,∞]
允许每个叶子输出的最大变化步长。如果该值设置为0,则表示没有约束。如果将其设置为正值,则有助于使更新步骤更加保守。通常不需要这个参数,但当类极不平衡时,它可能有助于逻辑回归。将其设置为值1-10可能有助于控制更新。
6、subsample [default=1],范围: (0,1]
训练实例的子样本比率。将其设置为0.5意味着XGBoost将在生成树之前随机抽样一半的训练数据。这将防止过拟合。子采样将在每个boosting迭代时发生一次。
7、sampling_method [default= uniform]
用于对训练实例进行采样的方法。
uniform:每个训练实例被选中的概率相等。通常将子样本设置为>=0.5以获得良好的结果。
gradient_based:
基于梯度的:每个训练实例的选择概率与梯度的正则化绝对值成正比(更具体地说)。子样本可设置为低至0.1,而不会损失模型精度。请注意,仅当tree_method设置为gpu_hist时,才支持此采样方法;其他树方法仅支持统一采样。
8、colsample_bytree, colsample_bylevel, colsample_bynode [default=1]
这是一系列用于列的子采样的参数。
所有colsample_by参数的范围为(0,1),默认值为1,指定子采样的列的比率。
colsample_bytree:
是构造每个树时列的子采样率。对构建的每棵树进行一次子采样。
colsample_bylevel:
是每个级别的列的子样本比率。对于树中达到每个新的深度级别,都会进行一次子采样。是从当前树选择的列集中进行二次采样。
colsample_bynode:
是每个叶子节点(拆分)时列的子采样率。每次评估新拆分时,都会进行一次子采样。是从为当前级别选择的列集中进行二次采样。
colsample_by
参数可同时作用。例如,组合{‘colsample_bytree’:0.5,‘colsample_bylevel’:0.5,‘colsample_bynode’:0.5}
如果有64个特征,则在每次分裂时将有8个特征可供选择(如果有64个特征,将在每次分裂时选择其中8个特征)。
在Python界面上,当使用hist、gpu_hist或精确树方法时,可以为DMatrix设置特征权重,以定义使用列采样时每个特征被选择的概率。sklearn接口中的fit方法有一个类似的参数。
9、lambda [default=1, alias: reg_lambda]
关于权重的L2正则化项。增加此值将使模型更加保守。
10、alpha [default=0, alias: reg_alpha]
关于权重的L1正则化项。增加此值将使模型更加保守。
11、tree_method string [default= auto]
XGBoost中使用的树构造算法。请参阅 reference paper 和XGBoost Tree Methods中的说明。
可选: auto, , approx, hist, gpu_hist,
auto:使用启发式选择最快的方法。
对于小数据集,将使用贪心算法(exact)。
对于较大的数据集,将选择近似算法(近似)。建议尝试hist和gpu_hist,以提高大数据集的性能,
(gpu_hist)已经支持外部内存。
由于旧的行为总是在单机中使用精确贪心,当选择近似算法时,用户将收到一条消息来通知此选择。
exact:精确贪婪算法。枚举所有拆分的候选对象。
approx:使用分位数草图和梯度直方图的近似贪心算法。
hist:更快的直方图优化近似贪心算法。
gpu_hist:hist算法的gpu实现。
12、scale_pos_weight [default=1]
控制正负权重的平衡,对于不平衡的分类很有用。典型的值:sum(negative instances) / sum(positive instances)
13、updater [default= grow_colmaker,prune]
一个逗号分隔的字符串,定义要运行的树更新程序的序列,提供了一种构建和修改树的模块化方法。这是一个高级参数,通常根据其他一些参数自动设置。但是,它也可以由用户显式设置。存在以下更新程序:
grow_colmaker:非分布式的、基于列的树构造方法
grow_histmaker: 基于全局直方图计数的基于行的数据分割分布式树构造方法。
grow_local_histmaker: 基于局部直方图统计。
grow_quantile_histmaker:使用量化直方图生成树。
grow_gpu_hist: 用GPU生成树
sync: 同步所有分布式节点中的树。
refresh:基于当前数据刷新树的统计信息和/或叶子值。请注意,不执行数据行的随机子采样。
prune: 修剪loss < min_split_loss (or gamma)的分裂
在分布式设置中,更新程序序列值将被隐性地默认调整为grow_histmaker,prune
14、refresh_leaf [default=1]
这是刷新更新程序的一个参数。当该标志为1时,将更新树叶子和树节点的统计信息。当它为0时,仅更新树节点统计信息。
15、process_type [default= default]
要运行的一种boosting处理类型。
可选: default, update
default: 创建新树的正常提升过程。
update: 从现有模型开始,仅更新其树。在每个boosting迭代中,从初始模型中获取一棵树,为该树运行指定的更新程序序列,并将修改后的树添加到新模型中。新模型将具有相同或更小数量的树,这取决于执行的boosting迭代次数。目前,以下内置更新程序可以有意义地用于此进程类型:刷新、修剪。对于process_type=update,不能使用创建新树的更新程序。
16、grow_policy [default= depthwise]
控制将新节点添加到树中的方式。
当前仅当tree_method设置为hist或gpu_hist时才受支持。
depthwise: 在距离根最近的节点处分裂。
lossguide: 在损失变化最大的节点上分裂。
17、max_leaves [default=0]
要添加的最大节点数。仅当设置了grow_policy=lossguide时才相关。
18、max_bin, [default=256]
仅当tree_method设置为hist或gpu_hist时使用。
Maximum number of discrete bins to bucket continuous features.(批量进入连续特征的最大数量离散值)
自注释:一个histogram(直方图),通常可以用一个列向量表示,列向量里面的每一个值就是一个bin,比如说列向量有个50个元素,那么就代表有50个bin。
增加此数字可以提高拆分的最优性,但会增加计算时间。
19、monotone_constraints
变量单调性约束。有关更多信息,请参见教程
20、interaction_constraints
交互约束,表示允许交互的。必须以嵌套列表的形式指定约束,例如[0,1]、[2,3,4]],其中每个内部列表是一组允许相互交互的特征索引。有关更多信息,请参见教程

Tree Booster 的参数相关推荐

  1. NET(C#):使用Expression Tree构建带有参数、本地变量和返回值的Lambda

    .NET(C#):使用Expression Tree构建带有参数.本地变量和返回值的Lambda 对于参数,需要使用Expression.Parameter创建ParameterExpression对 ...

  2. 决策树(Decision Tree)理解及参数介绍

    1.算法过程 决策树的生成是一个递归过程. 1.1递归返回 叶节点生成过程 当前节点样本全属于同一类,无需划分 当前属性集为空或者所有样本在所有属性上取值相同,无法划分,并设置为所含样本最多的类别 当 ...

  3. 我的XGBoost学习经历及动手实践

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤  深圳大学,Datawhale高校群成员 知乎地址:htt ...

  4. Datawhale集成学习笔记:XGBOOST算法

    引用:Datawhale XGBoost算法 XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了GBDT算法并进行了算法和工程上的许多改进,被广泛应用在Kaggle竞赛及其他许多机器学 ...

  5. day6-Boosting

    day6-Boosting 目录 day6-Boosting 心得体会 前言 一.Boosting方法的基本思路 二.Adaboost算法 1.Adaboost基本原理 2.使用sklearn对Ada ...

  6. Datawhale组队学习之集成学习——Task 6 Boosting

    Datawhale组队学习之集成学习--Task 6 Boosting 一.Boosting方法的基本思路 二.Adaboost算法 1.Adaboost基本原理 2.使用sklearn对Adaboo ...

  7. 集成学习-4.boosting

    参考文献ensemble-learning 1.Bagging与Boosting 在前面的学习中,我们探讨了一系列简单而实用的回归和分类模型,同时也探讨了如何使用集成学习家族中的Bagging思想去优 ...

  8. ttserver B+tree参数及VS TCH

    下文为使用ttserver过程中的一些经验总结或笔记.记之以备忘: 1. ttserver b+树参数含义 B+ tree database supports "mode",  c ...

  9. XGBoost参数调优完全指南(附Python代码)——转载

    转载自https://www.cnblogs.com/mfryf/p/6293814.html 译注:文内提供的代码和运行结果有一定差异,可以从这里下载完整代码对照参考.另外,我自己跟着教程做的时候, ...

  10. python xgboost参数_如何对XGBoost模型进行参数调优

    匿名用户 1级 2017-01-19 回答 XGBoost参数调优完全指南(附Python代码) 译注:文内提供的代码和运行结果有一定差异,可以从这里下载完整代码对照参考.另外,我自己跟着教程做的时候 ...

最新文章

  1. Android studio Day01-23
  2. Numpy.tile() (Python)
  3. poj 1988(并查集)
  4. SSM/SpringBoot+layui实现数据表格
  5. PAT 1079. Total Sales of Supply Chain
  6. 2019\Province_C_C++_B\试题A-组队
  7. 数学专业考研及读研目录[2014年11月7日更新]
  8. Echarts五步法加初体验
  9. 语音识别现状与工程师必备技能
  10. Linux下 vim代码编译器的使用
  11. 带参数的RedirectToAction
  12. 《Linux Shell脚本攻略》读书笔记第二章 命令之乐
  13. ASP.NET 氚云平台集成Dome
  14. 一个字形容大数据_关于大数据,你应该知道的75个专业术语
  15. ADA本月上涨100%,背后或有三个原因
  16. freemarker 生成word,支持循环导出图片 WPS版本
  17. 苹果5更新系统无服务器,苹果5手机系统更新不了出现无法检查更新怎么处理
  18. EasyRecovery适用于Windows和Mac的专业数据恢复软件
  19. 产品经理书籍《启示录》
  20. 音乐机器人特奥_网红机器人特奥挑战人类钢琴家音乐会

热门文章

  1. Word文档乱码恢复操作----免费指导
  2. substring字符串截取
  3. mysql 升级mariadb_mariadb升级
  4. Loongson2_龙芯灵珑9S2A_usb或硬盘方式安装debian6 [刘工版]
  5. matlab篮球队需要五名队员,球队战绩影响因素分析.doc
  6. Web前端密码加密是否有意义?
  7. 柠檬味百香果饮料怎么制作
  8. ad一张图纸绘制多图_ad原理图绘制基础
  9. HTML简单语法总结
  10. 2023年全国管理类联考综合试卷真题及解析