优化 XGBoost 模型 - Amazon SageMaker

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

优化 XGBoost 模型

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

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

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

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

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

注意

XGBoost 0.90 的自动模型调整功能只能从亚马逊 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_weightsubsampleetanum_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