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

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

调整XGBoost模型

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

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

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

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

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

注意

XGBoost0.90 的自动模型调整仅可从Amazon获得 SageMaker SDKs,而不能从 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评估指标影响最大的超参数是:alpha、、min_child_weightsubsampleeta、和num_round

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

ContinuousParameterRanges

MinValue: 0, MaxValue: 1000

colsample_bylevel

ContinuousParameterRanges

MinValue: 0.1, MaxValue: 1

colsample_bynode

ContinuousParameterRanges

MinValue: 0.1, MaxValue: 1

colsample_bytree

ContinuousParameterRanges

MinValue: 0.5, MaxValue: 1

eta

ContinuousParameterRanges

MinValue: 0.1, MaxValue: 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: 1