本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
调整 CatBoost 模型
自动模型调整也称作超参数调整,是指通过在您的训练数据集和验证数据集上运行多个作业来测试一系列超参数,从而查找模型的最佳版本。模型调整侧重于以下超参数:
注意
学习损失函数根据分类任务的类型自动分配,分类任务由标签列中唯一整数的数量决定。有关更多信息,请参阅 CatBoost 超参数。
-
一个学习损失函数,用于在模型训练期间进行优化
-
一个评估指标,用于在验证期间评估模型性能
-
自动调整模型时要使用的一组超参数和一系列值,供每个参数使用
自动模型调整将搜索您选择的超参数,以找出可以得到优化所选评估指标的模型的值组合。
注意
CatBoost 的自动模型调整仅可从 Amazon SageMaker SDK 使用,不能从 SageMaker AI 控制台使用。
有关模型优化的更多信息,请参阅使用 SageMaker AI 自动调整模型。
由 CatBoost 算法计算的评估指标
SageMaker AI CatBoost 算法计算以下指标以用于模型验证。评估指标根据分类任务的类型自动分配,分类任务由标签列中唯一整数的数量决定。
| 指标名称 | 描述 | 优化方向 | 正则表达式模式 |
|---|---|---|---|
RMSE |
均方根误差 | 最小化 | "bestTest = ([0-9\\.]+)" |
MAE |
平均绝对误差 | 最小化 | "bestTest = ([0-9\\.]+)" |
MedianAbsoluteError |
中位绝对误差 | 最小化 | "bestTest = ([0-9\\.]+)" |
R2 |
r2 分数 | 最大化 | "bestTest = ([0-9\\.]+)" |
Logloss |
二元交叉熵 | 最大化 | "bestTest = ([0-9\\.]+)" |
Precision |
精度 | 最大化 | "bestTest = ([0-9\\.]+)" |
Recall |
查全率 | 最大化 | "bestTest = ([0-9\\.]+)" |
F1 |
f1 分数 | 最大化 | "bestTest = ([0-9\\.]+)" |
AUC |
auc 分数 | 最大化 | "bestTest = ([0-9\\.]+)" |
MultiClass |
多元交叉熵 | 最大化 | "bestTest = ([0-9\\.]+)" |
Accuracy |
准确性 | 最大化 | "bestTest = ([0-9\\.]+)" |
BalancedAccuracy |
平衡准确性 | 最大化 | "bestTest = ([0-9\\.]+)" |
可调整 CatBoost 超参数
使用以下超参数调整 CatBoost 模型。对优化 CatBoost 评估指标影响最大的超参数包括:learning_rate、depth、l2_leaf_reg 和 random_strength。有关所有 CatBoost 超参数的列表,请参阅 CatBoost 超参数。
| 参数名称 | 参数类型 | 建议的范围 |
|---|---|---|
learning_rate |
ContinuousParameterRanges | 最小值:0.001,最大值:0.01 |
depth |
IntegerParameterRanges | 最小值:4,最大值:10 |
l2_leaf_reg |
IntegerParameterRanges | 最小值:2,最大值:10 |
random_strength |
ContinuousParameterRanges | 最小值:0,最大值:10 |