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

优化 XGBoost 模型

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

  • 一个学习 objective 函数,用于在模型训练期间进行优化

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

  • 自动调整模型时要使用的一组超参数和一系列值,供每个参数使用

您可以从算法计算的评估指标集合中选择一个评估指标。自动模型优化将搜索所选超参数,以找到值组合,获得能够对评估指标进行优化的模型。

注意

XGBoost 0.90 的自动模型调整仅可从 Amazon SageMaker SDK 获得,不能从 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_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