【问题标题】:Print statement in cross-validation on custom estimator in Sklearn在 Sklearn 中的自定义估计器的交叉验证中打印语句
【发布时间】:2020-09-13 16:47:08
【问题描述】:

根据documentation,我在 sklearn 中构建了一个自定义估算器。在fit 方法中,我有一个打印语句,用于调试。当我创建这个模型的一个实例并调用 fit 方法时,一切都按预期工作。但是,当调用cross_val_score 时,不再打印语句,尽管据我所知,cross_val_score 在每个折叠处调用fit 方法。 有什么方法可以在交叉验证中强制打印语句?

【问题讨论】:

  • 并行处理会吞噬输出吗?试试 n_jobs=1?
  • @BenReiniger 是的,确实如此。谢谢你的回答。那么,有什么办法可以防止并行处理这样做吗?
  • 您是在 Jupyter 笔记本中运行它,还是...?
  • 是的,在 Jupyter Notebook 中

标签: python scikit-learn cross-validation


【解决方案1】:

sklearn 中的并行处理由joblib 处理。当使用 n_jobs != 1 运行 cross_val_score 时,显然这与 Jupyter 输出效果不佳:
Printed output not displayed when using joblib in jupyter notebook

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 2014-07-27
    • 2019-06-01
    • 2013-12-18
    • 2019-10-22
    • 2012-12-31
    • 2014-11-24
    • 2018-04-26
    • 2015-01-21
    相关资源
    最近更新 更多