并行拟合 scikit-learn 模型?

Posted

技术标签:

【中文标题】并行拟合 scikit-learn 模型?【英文标题】:Fit a scikit-learn model in parallel? 【发布时间】:2021-05-09 01:37:33 【问题描述】:

是否可以类似的东西 model.fit(X, y, n_jobs=20)

【问题讨论】:

【参考方案1】:

这实际上取决于您要拟合的模型。通常在初始化模型时它会有一个n_jobs 参数。见glossary on n_jobs。例如随机森林:

from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_jobs=10)

如果它是一种集成方法,那么并行化是有意义的,因为您可以单独拟合模型(请参阅help page for ensemble methods)。 LogisticRegression() 也有一个 n_job 选项,但老实说,如果这是你的瓶颈,我真的不知道这会加快装配过程的速度。另见post

其他方法,如弹性网络、线性回归或 SVM,我认为没有并行化选项。

【讨论】:

以上是关于并行拟合 scikit-learn 模型?的主要内容,如果未能解决你的问题,请参考以下文章

用 scikit-learn 拟合向量自回归模型

使 Python 能够利用所有内核来拟合 scikit-learn 模型

如何在不拟合的情况下实例化具有已知系数的 Scikit-Learn 线性模型

用 scikit-learn 拟合一维数据来预测线

BIC 使用来自 scikit-learn 的 GaussianMixture 过度拟合图像分割模型中的组件数量

当我尝试为 scikit-learn 模型拟合另外 1 个功能时,出现此错误“ValueError:找到样本数量不一致的输入变量”