优化 XGBoost 模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

优化 XGBoost 模型

自动调整模型(也称作超参数优化)通过运行很多在训练和验证数据集上测试一系列超参数的作业来查找模型的最佳版本。您可以选择三种类型的超参数:

  • 学习objective函数在模型训练过程中进行优化

  • 一个eval_metric用于在验证过程中评估模型性能

  • 自动调整模型时使用的一组超参数以及每个参数的值范围

您可以从算法计算的评估指标集中选择评估指标。自动模型优化将搜索所选超参数以找到导致优化评估指标的模型的值组合。

注意

XGBoost 0.90 的自动模型调整仅可从 Amazon SageMaker 开发工具包获得,而不能从 SageMaker 控制台获得。

有关模型优化的更多信息,请参阅使用 SageMaker 执行自动模型优化

由 XGBoost 算法计算的评估指标

XGBoost 算法计算以下指标以用于模型验证。在优化模型时,请从这些指标中选择一个指标来评估模型。有效的完整列表eval_metric值,请参阅XGBoost 学习任务参数

指标名称 描述 优化方向
validation:accuracy

分类速率,计算方式为正确用例数/所有用例数。

最大化

validation:auc

曲线下方的区域。

最大化

validation:error

二进制分类错误率,计算方式为错误用例数/所有用例数。

最小化

validation:f1

分类准确率指标,计算方式为查准率和查全率的调和平均值。

最大化

validation:logloss

负对数似然。

最小化

validation:mae

平均绝对误差。

最小化

validation:map

平均查准率。

最大化

validation:merror

多类别分类错误率,计算方式为错误用例数/所有用例数。

最小化

validation:mlogloss

多类别分类的负对数似然。

最小化

validation:mse

均方差。

最小化

validation:ndcg

标准化折扣累积收益。

最大化

validation:rmse

均方根误差。

最小化

可优化 XGBoost 超参数

使用以下超参数优化 XGBoost 模型。对优化 XGBoost 评估指标影响最大的超参数包括:alphamin_child_weightsubsampleeta, 和num_round.

参数名称 参数类型 建议的范围
alpha

ContinuousParameterRanges

MinValue:0,MaxValue:1000

colsample_bylevel

ContinuousParameterRanges

MinValue:0.1,MaxValue:0.1 1

colsample_bynode

ContinuousParameterRanges

MinValue:0.1,MaxValue:0.1 1

colsample_bytree

ContinuousParameterRanges

MinValue:0.5,MaxValue:0.5,最大值:1

eta

ContinuousParameterRanges

MinValue:0.1,MaxValue:0.1 0.5

gamma

ContinuousParameterRanges

MinValue:0,MaxValue:5

lambda

ContinuousParameterRanges

MinValue:0,MaxValue:1000

max_delta_step

IntegerParameterRanges

[0, 10]

max_depth

IntegerParameterRanges

[0, 10]

min_child_weight

ContinuousParameterRanges

MinValue:0,MaxValue:120

num_round

IntegerParameterRanges

[1, 4000]

subsample

ContinuousParameterRanges

MinValue:0.5,MaxValue:0.5,最大值:1