本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
调整 LightGBM 模型
自动模型调整也称作超参数调整,是指通过在您的训练数据集和验证数据集上运行多个作业来测试一系列超参数,从而查找模型的最佳版本。模型调整侧重于以下超参数:
注意
学习目标函数根据分类任务的类型自动分配,分类任务由标签列中唯一整数的数量决定。有关更多信息,请参阅 LightGBM 超参数。
-
一个学习目标函数,用于在模型训练期间进行优化
-
一个评估指标,用于在验证期间评估模型性能
-
自动调整模型时要使用的一组超参数和一系列值,供每个参数使用
自动模型调整将搜索您选择的超参数,以找出值的组合,通过这些值可以得到优化所选评估指标的模型。
注意
LightGBM 的自动模型调整只能通过亚马逊 AI 获得 SDKs,不能从 SageMaker AI 控制 SageMaker 台获得。
有关模型优化的更多信息,请参阅使用 SageMaker AI 自动调整模型。
由 LightGBM 算法计算的评估指标
A SageMaker I LightGBM 算法计算以下指标以用于模型验证。评估指标根据分类任务的类型自动分配,分类任务由标签列中唯一整数的数量决定。
指标名称 | 描述 | 优化方向 | 正则表达式模式 |
---|---|---|---|
rmse |
均方根误差 | 最小化 | "rmse: ([0-9\\.]+)" |
l1 |
平均绝对误差 | 最小化 | "l1: ([0-9\\.]+)" |
l2 |
均方差 | 最小化 | "l2: ([0-9\\.]+)" |
huber |
Huber 损失 | 最小化 | "huber: ([0-9\\.]+)" |
fair |
公允损失 | 最小化 | "fair: ([0-9\\.]+)" |
binary_logloss |
二元交叉熵 | 最大化 | "binary_logloss: ([0-9\\.]+)" |
binary_error |
二元误差 | 最小化 | "binary_error: ([0-9\\.]+)" |
auc |
AUC | 最大化 | "auc: ([0-9\\.]+)" |
average_precision |
平均精度分数 | 最大化 | "average_precision: ([0-9\\.]+)" |
multi_logloss |
多元交叉熵 | 最大化 | "multi_logloss: ([0-9\\.]+)" |
multi_error |
多元错误分数 | 最小化 | "multi_error: ([0-9\\.]+)" |
auc_mu |
AUC-mu | 最大化 | "auc_mu: ([0-9\\.]+)" |
cross_entropy |
交叉熵 | 最小化 | "cross_entropy: ([0-9\\.]+)" |
可调整 LightGBM 超参数
使用以下超参数调整 LightGBM 模型。对优化 LightGBM 评估指标影响最大的超参数包括:learning_rate
、num_leaves
、feature_fraction
、bagging_fraction
、bagging_freq
、max_depth
和 min_data_in_leaf
。有关所有 LightGBM 超参数的列表,请参阅 LightGBM 超参数。
参数名称 | 参数类型 | 建议的范围 |
---|---|---|
learning_rate |
ContinuousParameterRanges | MinValue: 0.001, MaxValue: 0.01 |
num_leaves |
IntegerParameterRanges | MinValue: 10, MaxValue: 100 |
feature_fraction |
ContinuousParameterRanges | MinValue: 0.1, MaxValue: 1.0 |
bagging_fraction |
ContinuousParameterRanges | MinValue: 0.1, MaxValue: 1.0 |
bagging_freq |
IntegerParameterRanges | MinValue: 0, MaxValue: 10 |
max_depth |
IntegerParameterRanges | MinValue: 15, MaxValue: 100 |
min_data_in_leaf |
IntegerParameterRanges | MinValue: 10, MaxValue: 200 |