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

如何抑制Optuna中LightGBMTunerCV输出的cv_agg's binary_logloss日志?

关闭LightGBMTunerCV冗余cv日志的解决方案

你当前配置不生效的核心原因是定义的log_evaluation回调没有传入LightGBMTunerCV的初始化参数,按以下方式调整即可完全关闭冗余日志:

  • 将预先定义的callbacks参数传入LightGBMTunerCV初始化参数,作用于每轮交叉验证训练,直接关闭迭代loss输出
  • 若不需要调优进度条,可新增show_progress_bar=False参数
  • 若要进一步过滤Optuna框架的其他无关日志,可设置Optuna日志级别为仅输出警告及以上内容

修改后的完整代码如下:

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
import optuna.integration.lightgbm as lgb
import optuna

# 关闭Optuna默认的 info 级别日志,仅保留警告和报错
optuna.logging.set_verbosity(optuna.logging.WARNING)

import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.simplefilter(action='ignore', category=UserWarning)
breast_cancer = load_breast_cancer()

X_train, X_test, Y_train, Y_test = train_test_split(breast_cancer.data, breast_cancer.target)

train_dataset = lgb.Dataset(X_train, Y_train, feature_name=breast_cancer.feature_names.tolist())
test_dataset = lgb.Dataset(X_test, Y_test, feature_name=breast_cancer.feature_names.tolist())
callbacks = [lgb.log_evaluation(period=0)]
tuner = lgb.LightGBMTunerCV({"objective": "binary", 'verbose': -1},
       train_set=test_dataset, num_boost_round=10,
       nfold=5, stratified=True, shuffle=True,
       callbacks=callbacks,
       show_progress_bar=False) # 不需要关闭进度条可删除此行

tuner.run()

修改后运行不会再输出cv_agg's binary_logloss相关的日志,可大幅降低IO开销,适配大数据集的调优场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:54:02