CatBoost 超参数 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

CatBoost 超参数

下表包含 Amazon SageMaker AI CatBoost 算法必需或最常用的部分超参数。用户可以设置这些参数,以便于从数据中估算模型参数。SageMaker AI CatBoost 算法是开源 CatBoost 包的实施。

注意

默认超参数基于 CatBoost 示例笔记本中的示例数据集。

默认情况下,SageMaker AI CatBoost 算法会根据分类问题的类型,自动选择评估指标和损失函数。CatBoost 算法根据数据中的标签数量来检测分类问题的类型。对于回归问题,评估指标和损失函数都为均方根误差。对于二元分类问题,评估指标为曲线下方面积 (AUC),损失函数为对数损失。对于多元分类问题,评估指标和损失函数都是二元交叉熵。您可以使用 eval_metric 超参数来更改默认评估指标。有关 LightGBM 超参数的更多信息,包括描述、有效值和默认值,请参阅下表。

参数名称 描述
iterations

可以构建的最大树数量。

有效值:整数,范围:正整数。

默认值:500

early_stopping_rounds

如果在过去的 early_stopping_rounds 轮中,某个验证数据点的某个指标没有改善,则训练将停止。如果 early_stopping_rounds 小于或等于零,则忽略此超参数。

有效值:整数。

默认值:5

eval_metric

验证数据的评估指标。如果 eval_metric 设置为默认值 "auto",则算法会根据分类问题的类型自动选择评估指标:

  • "RMSE" 用于回归

  • "AUC" 用于二元分类

  • "MultiClass" 用于多元分类

有效值:字符串,请参阅 CatBoost 文档以了解有效值。

默认值:"auto"

learning_rate

完成每批训练样本后,更新模型权重的速率。

有效值:浮点型,范围:(0.01.0)。

默认值:0.009

depth

树的深度。

有效值:整数,范围:(1, 16)。

默认值:6

l2_leaf_reg

成本函数的 L2 正则化项的系数。

有效值:整数,范围:正整数。

默认值:3

random_strength

选择树结构时用于对拆分进行评分的随机量。使用此参数以避免模型过度拟合。

有效值:浮点型,范围:正浮点数。

默认值:1.0

max_leaves

所生成树中叶的最大数量。只能与 "Lossguide" 增长策略一起使用。

有效值:整数,范围:[264]。

默认值:31

rsm

随机子空间方法。再次随机选择特征时,每次拆分选择时要使用的特征百分比。

有效值:浮点型,范围:(0.01.0)。

默认值:1.0

sampling_frequency

构建树时对权重和对象进行采样的频率。

有效值:字符串,以下任意值:("PerTreeLevel""PerTree")。

默认值:"PerTreeLevel"

min_data_in_leaf

一个叶中训练样本的最小数量。当叶中的样本计数小于指定值时,CatBoost 不会在其中搜索新的拆分。只能与 "Lossguide""Depthwise" 增长策略一起使用。

有效值:整数,范围:(1)。

默认值:1

bagging_temperature

定义贝叶斯自举法的设置。使用贝叶斯自举法向对象分配随机权重。如果将 bagging_temperature 设置为 1.0,则从指数分布中对权重进行采样。如果将 bagging_temperature 设置为 0.0,则所有权重均为 1.0。

有效值:浮点型,范围:非负浮点数。

默认值:1.0

boosting_type

提升架构。“自动”表示根据处理单元类型、训练数据集中的对象数量和所选学习模式来选择 boosting_type

有效值:字符串,以下任意值:("Auto""Ordered""Plain")。

默认值:"Auto"

scale_pos_weight

二元分类中正向类的权重。该值用作来自正向类的对象权重的乘数。

有效值:浮点型,范围:正浮点数。

默认值:1.0

max_bin

数字特征的拆分数。"Auto" 表示根据处理单元类型和其他参数选择 max_bin。有关详细信息,请参阅 CatBoost 文档。

有效值:字符串,可以是:("Auto" 或从 "1""65535"(包括)的整数字符串)。

默认值:"Auto"

grow_policy

树增长策略。定义如何执行贪婪树构造。

有效值:字符串,以下任意值:("SymmetricTree""Depthwise""Lossguide")。

默认值:"SymmetricTree"

random_seed

用于训练的随机种子。

有效值:整数,范围:非负整数。

默认值:1.0

thread_count

训练期间使用的线程数。如果 thread_count-1,则线程数等于处理器核心数。thread_count 不能是 0

有效值:整数,以下任意值:(-1 或正整数)。

默认值:-1

verbose

打印消息的详细程度。级别越高,对应的打印报表更详细。

有效值:整数,范围:正整数。

默认值:1