【问题标题】:How can I parallelize fitting a gradient boosting model with sklearn?如何使用 sklearn 并行拟合梯度提升模型?
【发布时间】:2021-07-16 23:28:28
【问题描述】:

使用 sklearn 构建模型相对较新。我知道交叉验证可以通过 n_jobs 参数并行化,但如果我不使用 CV,如何利用可用的内核来加速模型拟合?

【问题讨论】:

  • 没有参数,这意味着你不能做太多。我不熟悉梯度提升的内部结构,但请确保您有一个不错的 numpy 设置,包括一些多线程 BLAS。如果梯度提升是基于向量-向量/矩阵-向量乘积(我希望至少用于计算梯度),这些操作将自动并行化。

标签: python machine-learning scikit-learn


【解决方案1】:

有 XGboost 或 LigtGMB 等分布式替代方案(即可以并行运行)。这些都是有据可查且流行的提升算法。

【讨论】:

    【解决方案2】:

    目前 afaik 没有像“n_jobs”这样的参数用于 GradientBoosting 方法,但您可以尝试使用使用 OpenMP 进行并行化的HistGradientBoostingRegressor(将使用尽可能多的线程)。

    您可以在此处阅读更多内容: https://scikit-learn.org/stable/modules/ensemble.html https://scikit-learn.org/stable/modules/computing.html#parallelism

    【讨论】:

      猜你喜欢
      • 2013-12-08
      • 1970-01-01
      • 2019-08-30
      • 2020-08-15
      • 2019-04-26
      • 2018-02-12
      • 2020-01-26
      • 2020-06-02
      • 2020-12-21
      相关资源
      最近更新 更多