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

CatBoost设置plot=True后训练验证误差学习曲线可视化不显示问题

CatBoost Jupyter Notebook可视化不显示问题修复方案
  • 安装必要依赖ipywidgets,CatBoost的交互式可视化基于该组件实现,执行安装命令:
    pip install ipywidgets
  • 启用Jupyter Notebook的widgets扩展,执行命令后重启整个Jupyter服务:
    jupyter nbextension enable --py widgetsnbextension
  • 检查Chrome浏览器拦截类插件,广告拦截、脚本拦截、隐私防护类插件都会阻止CatBoost动态绘图脚本加载,临时禁用这类插件后刷新页面重试
  • 升级CatBoost到最新稳定版本,旧版本存在已知的可视化兼容bug,升级命令:
    pip install --upgrade catboost
  • 上述方案均无效时可使用手动绘图替代方案,关闭fit方法的plot参数后,提取训练日志自行绘制学习曲线,示例代码如下:
# 训练阶段关闭内置plot
model.fit(
    X_train, y_train,
    cat_features=categorical_features_indices,
    eval_set=(X_val, y_val),
    verbose=False
)

# 提取评估指标绘制曲线
import matplotlib.pyplot as plt
evals_result = model.get_evals_result()
# 若使用自定义评估指标,将下方的Logloss替换为对应指标名称即可
plt.plot(evals_result['learn']['Logloss'], label='训练集误差')
plt.plot(evals_result['validation_0']['Logloss'], label='验证集误差')
plt.xlabel('迭代次数')
plt.ylabel('误差值')
plt.legend()
plt.show()

*注:如果设置了多个验证集,需要根据实际eval_set的顺序调整validation_0对应的索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:54:01