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

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

优化 XGBoost 模型

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

  • 要在模型训练期间优化的学习objective函数

  • 用于在验证期间评估模型性能eval_metric

  • 在自动优化模型时要使用的一组超参数和每个超参数的值范围

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

注意

XGBoost 0.90 的自动模型优化只能从 Amazon SageMaker SDKs而不是从 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 评估指标影响最大的超参数为alpha:、min_child_weightsubsampleetanum_round

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

ContinuousParameterRanges

最小值:0,最大值:1000

colsample_bylevel

ContinuousParameterRanges

最小值:0.1,最大值:1

colsample_bynode

ContinuousParameterRanges

最小值:0.1,最大值:1

colsample_bytree

ContinuousParameterRanges

最小值:0.5,最大值:1

eta

ContinuousParameterRanges

最小值:0.1,最大值:0.5

gamma

ContinuousParameterRanges

最小值:0,最大值:5

lambda

ContinuousParameterRanges

最小值:0,最大值:1000

max_delta_step

IntegerParameterRanges

[0, 10]

max_depth

IntegerParameterRanges

[0, 10]

min_child_weight

ContinuousParameterRanges

最小值:0,最大值:120

num_round

IntegerParameterRanges

[1, 4000]

subsample

ContinuousParameterRanges

最小值:0.5,最大值:1