You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Amazon SageMaker CatBoost训练中设置或获取最优学习率?

SageMaker默认CatBoost容器的学习率自动设置方案

方法1:让CatBoost自动计算学习率

SageMaker默认CatBoost容器确实把learning_rate默认设为0.03,但你可以通过传递超参数覆盖这个值,实现和本地v1.2环境一致的自动计算逻辑:

  • 创建SageMaker CatBoost Estimator时,显式将learning_rate设为'auto':
from sagemaker.catboost import CatBoost

estimator = CatBoost(
    role="your-iam-role",
    instance_count=1,
    instance_type="ml.m5.xlarge",
    hyperparameters={
        "learning_rate": "auto",
        # 补充其他训练所需超参数
    }
)

这样CatBoost会根据输入数据自动选择合适的学习率,和本地行为对齐。

方法2:预计算学习率后传入

如果需要先在本地确认学习率再用于SageMaker训练:

  1. 在本地环境获取自动计算的学习率:
from catboost import Pool, CatBoostClassifier
import pandas as pd

# 加载本地训练数据
train_data = pd.read_csv("train_data.csv")
train_pool = Pool(train_data.drop("target", axis=1), train_data["target"])

# 不指定learning_rate,让模型自动计算
model = CatBoostClassifier(iterations=200)
model.fit(train_pool)
auto_learning_rate = model.get_params()["learning_rate"]
  1. 将该值作为超参数传入SageMaker:
estimator = CatBoost(
    role="your-iam-role",
    instance_count=1,
    instance_type="ml.m5.xlarge",
    hyperparameters={
        "learning_rate": auto_learning_rate,
        # 其他超参数
    }
)

重要提示

以上两种方案都无需自定义Docker镜像,直接使用SageMaker官方提供的CatBoost容器即可解决问题。

内容的提问来源于stack exchange,提问作者Dudelstein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 20:42:53