Python 使用scikit learn实现多级并行化

Python 使用scikit learn实现多级并行化,python,parallel-processing,machine-learning,scikit-learn,cross-validation,Python,Parallel Processing,Machine Learning,Scikit Learn,Cross Validation,我在多核服务器上使用scikit learn来适应大型数据集,因此我通过设置n_jobs=-1来利用其并行化功能 同时,我希望执行交叉验证(with),并利用其并行化特性(同样,通过设置n_jobs=-1) 我的问题是,使用这两种类型的并行化是否会比只使用单一类型的并行化更显著地提高模型构建的速度。如果后者是真的,那么我不确定我应该选择哪种类型的并行化。scikit学习文档,因此没有提供如何使这两种类型的并行化协同工作的任何想法 请让我知道,如果我能提供一个更有用的答案,我是否可以提供更多关于我

我在多核服务器上使用scikit learn来适应大型数据集,因此我通过设置
n_jobs=-1
来利用其并行化功能

同时,我希望执行交叉验证(with),并利用其并行化特性(同样,通过设置
n_jobs=-1

我的问题是,使用这两种类型的并行化是否会比只使用单一类型的并行化更显著地提高模型构建的速度。如果后者是真的,那么我不确定我应该选择哪种类型的并行化。scikit学习文档,因此没有提供如何使这两种类型的并行化协同工作的任何想法


请让我知道,如果我能提供一个更有用的答案,我是否可以提供更多关于我的设置的信息。谢谢

否,将只使用一种类型的并行化。无法嵌套joblib调用。我认为将使用最外层的环路,即
交叉值
,但我不确定

实际上应该并行化哪个循环取决于您的设置。我可能会选择RandomForestClassifier(n_jobs=-1)并按顺序进行交叉评分。使用详细的GridSearchCV,也可以很快让您了解验证的准确性

换言之,你并行地进行交叉评分,与CPU相比,你有几倍(比如5倍和5个CPU)。通常,如果搜索的深度超过最大深度,一些森林所需的时间会比其他森林短得多。
然后,快速林将完成其工作,CPU将空闲,而“慢速”林仍将进行训练。

为什么不用数据的子样本进行计时实验?模型安装后不会执行
cross\u val\u评分
吗?不,有一个循环覆盖折叠,在其中调用fit。