

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# XGBoost 超参数
<a name="xgboost_hyperparameters"></a>

下表包含 Amazon A SageMaker I XGBoost 算法所需或最常用的超参数子集。这些是由用户设置的参数，以便于从数据中评估模型参数。首先，按字母顺序列出必须设置的所需超参数。接下来，也按字母顺序列出可以设置的可选超参数。 SageMaker 人工智能 XGBoost 算法是开源 DMLC XGBoost 软件包的实现。有关可为此版本配置的全套超参数的详细信息 XGBoost，请参阅[ XGBoost参数](https://xgboost.readthedocs.io/en/release_1.2.0/)。


| 参数名称 | 说明 | 
| --- | --- | 
| num\$1class |  类的数量。 在 `objective` 设置为 *multi:softmax* 或 *multi:softprob* 时**必需**。 有效值：整数。  | 
| num\$1round |  运行训练的轮数。 **必填** 有效值：整数。  | 
| alpha |  权重上的 L1 正则化项。增加此值会使模型更加保守。 **可选** 有效值：浮点值。 默认值：0  | 
| base\$1score |  所有实例的初始预测分数，全局偏移。 **可选** 有效值：浮点值。 默认值：0.5  | 
| booster |  要使用的助推程序。`gbtree` 和 `dart` 值使用基于树的模型，而 `gblinear` 使用线性函数。 **可选** 有效值：字符串。`"gbtree"`、`"gblinear"` 或 `"dart"`。 默认值：`"gbtree"`  | 
| colsample\$1bylevel |  每个级别中每个拆分的列的子样本比率。 **可选** 有效值：浮点值。范围：[0,1]。 默认值：1  | 
| colsample\$1bynode |  每个节点中列的子样本比率。 **可选** 有效值：浮点值。范围：(0,1]。 默认值：1  | 
| colsample\$1bytree |  构造每个树时列的子样本比率。 **可选** 有效值：浮点值。范围：[0,1]。 默认值：1  | 
| csv\$1weights |  启用此标志后，通过 XGBoost 将训练数据中的第二列（标签之后的列）作为实例权重来区分 csv 输入实例的重要性。 **可选** 有效值：0 或 1 默认值：0  | 
| deterministic\$1histogram |  启用此标志后，将确定性地在 GPU 上 XGBoost 构建直方图。仅在 `tree_method` 设置为 `gpu_hist` 时才会使用。 有关有效输入的完整列表，请参阅[XGBoost 参数](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst)。 **可选** 有效值：字符串。范围：`"true"` 或 `"false"`。 默认值：`"true"`  | 
| early\$1stopping\$1rounds |  模型会一直训练直到验证分数停止改善。验证错误至少需要减少每一次`early_stopping_rounds`才能继续训练。 SageMaker AI 托管使用最佳模型进行推理。 **可选** 有效值：整数。 默认值: -  | 
| eta |  在更新中用于防止过度适合的步骤大小收缩。在每个提升步骤之后，您可以直接获得新特征的权重。`eta` 参数实际上缩小了特征权重，使提升过程更加保守。 **可选** 有效值：浮点值。范围：[0,1]。 默认值：0.3  | 
| eval\$1metric |  验证数据的评估指标。根据目标分配默认指标： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/sagemaker/latest/dg/xgboost_hyperparameters.html) 有关有效输入的列表，请参阅[XGBoost 学习任务参数](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters)。 **可选** 有效值：字符串。 默认值：根据目标默认。  | 
| gamma |  在树的叶节点上进行进一步分区所需的最小损失减少。该值越大，算法越保守。 **可选** 有效值：浮点值。范围：[0,∞)。 默认值：0  | 
| grow\$1policy |  控制将新节点添加到树中的方式。目前，仅在 `tree_method` 设置为 `hist` 时受支持。 **可选** 有效值：字符串。`"depthwise"` 或 `"lossguide"`。 默认值：`"depthwise"`  | 
| interaction\$1constraints |  指定允许进行交互的变量组。 **可选** 有效值：嵌套的整数列表。每个整数代表一个特征，每个嵌套列表都包含允许交互的特征，例如 [[1,2], [3,4,5]]。 默认值：无。  | 
| lambda |  权重上的 L2 正则化项。增加此值会使模型更加保守。 **可选** 有效值：浮点值。 默认值：1  | 
| lambda\$1bias |  偏移上的 L2 正则化项。 **可选** 有效值：浮点值。范围：[0.0, 1.0]。 默认值：0  | 
| max\$1bin |  离散分箱到存储桶连续特征的最大数量。仅在 `tree_method` 设置为 `hist` 时才会使用。 **可选** 有效值：整数。 默认值：256  | 
| max\$1delta\$1step |  每个树的权重估计允许的最大增量步骤。当使用正整数时，它有助于使更新更加保守。首选选项是在逻辑回归中使用它。将其设置为 1-10 可帮助控制更新。 **可选** 有效值：整数。范围：[0,∞)。 默认值：0  | 
| max\$1depth |  树的最大深度。增加这个值会使模型更复杂，并可能会过度拟合。0 表示没有限制。当 `grow_policy`=`depth-wise` 时，需要限制。 **可选** 有效值：整数。范围：[0,∞) 默认值：6  | 
| max\$1leaves |  要添加的最大节点数。仅当 `grow_policy` 设为 `lossguide` 时相关。 **可选** 有效值：整数。 默认值：0  | 
| min\$1child\$1weight |  子项中所需的最小实例权重总和 (hessian)。如果树分区步骤导致叶节点的实例权重总和小于 `min_child_weight` 的总和，则生成过程会放弃进一步的分区。在线性回归模型中，这只是对应于每个节点中所需的最小实例数。算法越大，就越保守。 **可选** 有效值：浮点值。范围：[0,∞)。 默认值：1  | 
| monotone\$1constraints |  指定任意特征上的单调性约束。 **可选** 有效值：整数元组。有效整数：-1（递减约束）、0（无约束）、1（递增约束）。 例如 (0, 1)：对第一个预测变量没有约束，对第二个预测变量施加递增约束。(-1, 1)：对第一个预测变量施加递减约束，对第二个预测变量施加递增约束。 默认值：(0, 0)  | 
| normalize\$1type |  标准化算法的类型。 **可选** 有效值：*tree* 或 *forest*。 默认值：*tree*  | 
| nthread |  用于运行 *xgboost* 的并行线程数量。 **可选** 有效值：整数。 默认值：最大线程数。  | 
| objective |  指定学习任务和相应的学习目标。示例：`reg:logistic`、`multi:softmax`、`reg:squarederror`。有关有效输入的完整列表，请参阅[XGBoost 学习任务参数](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters)。 **可选** 有效值：字符串 默认值：`"reg:squarederror"`  | 
| one\$1drop |  启用此标记后，在丢弃期间至少会丢弃一个树。 **可选** 有效值：0 或 1 默认值：0  | 
| process\$1type |  要运行的提升过程的类型。 **可选** 有效值：字符串。`"default"` 或 `"update"`。 默认值：`"default"`  | 
| rate\$1drop |  丢弃比率，指定在丢弃期间要丢弃的一小部分以前的树。 **可选** 有效值：浮点值。范围：[0.0, 1.0]。 默认值：0.0  | 
| refresh\$1leaf |  这是“刷新”更新者插件的参数。当设置为 `true` (1) 时，树叶和树节点统计数据会更新。当设置为 `false` (0) 时，只有树节点统计数据会更新。 **可选** 有效值：0/1 默认值：1  | 
| sample\$1type |  采样算法的类型。 **可选** 有效值：`uniform` 或 `weighted`。 默认值：`uniform`  | 
| scale\$1pos\$1weight |  控制正负权重的平衡。它对不平衡的类很有用。可考虑的典型值：`sum(negative cases)` / `sum(positive cases)`。 **可选** 有效值：浮点值 默认值：1  | 
| seed |  随机数种子。 **可选** 有效值：整数 默认值：0  | 
| single\$1precision\$1histogram |  启用此标志后， XGBoost 使用单精度而不是双精度来构建直方图。仅在 `tree_method` 设置为 `hist` 或 `gpu_hist` 时才会使用。 有关有效输入的完整列表，请参阅[XGBoost 参数](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst)。 **可选** 有效值：字符串。范围：`"true"` 或 `"false"` 默认值：`"false"`  | 
| sketch\$1eps |  仅用于近似贪婪算法。这会转换为 O(1 / `sketch_eps`) 分箱数。与直接选择分箱数相比，这附带了具有草图准确率的理论保证。 **可选** 有效值：浮点型，范围：[0, 1]。 默认值：0.03  | 
| skip\$1drop |  在提升迭代期间跳过丢弃过程的概率。 **可选** 有效值：浮点值。范围：[0.0, 1.0]。 默认值：0.0  | 
| subsample |  训练实例的子样本比率。将其设置为 0.5 意味着 XGBoost 随机收集一半的数据实例来种树。这会防止过度适合 **可选** 有效值：浮点值。范围：[0,1]。 默认值：1  | 
| tree\$1method |  中使用的树构造算法 XGBoost。 **可选** 有效值：`auto`、`exact`、`approx`、`hist` 或 `gpu_hist` 之一。 默认值：`auto`  | 
| tweedie\$1variance\$1power |  控制 Tweedie 分布的方差的参数。 **可选** 有效值：浮点值。范围：(1, 2)。 默认值：1.5  | 
| updater |  一个逗号分隔的字符串，它定义要运行的树更新者序列。这提供了构造和修改树的模块化方法。 有关有效输入的完整列表，请参阅[XGBoost 参数](https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst)。 **可选** 有效值：逗号分隔的字符串。 默认值：`grow_colmaker`、prune  | 
| use\$1dask\$1gpu\$1training |  如果您要使用 Dask 运行分布式 GPU 训练，请将 `use_dask_gpu_training` 设置为 `"true"`。只有版本 1.5-1 及更高版本支持 Dask GPU 训练。对于 1.5-1 之前的版本，请勿将此值设置为 `"true"`。有关更多信息，请参阅 [分布式 GPU 训练](xgboost.md#Instance-XGBoost-distributed-training-gpu)。 **可选** 有效值：字符串。范围：`"true"` 或 `"false"` 默认值：`"false"`  | 
| verbosity | 打印消息的详细程度。 有效值：0（静默）、1（警告）、2（信息）、3（调试）。 **可选** 默认值：1  | 