首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用scikit的多级并行化-学习

使用scikit的多级并行化-学习
EN

Stack Overflow用户
提问于 2015-04-27 20:01:16
回答 1查看 627关注 0票数 2

我在一个多核服务器上使用scikit-learn的RandomForestClassifier来适应大型数据集,所以我利用它的并行化特性设置了n_jobs = -1

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

我的问题是,使用这两种类型的并行化是否会显著提高模型构建的速度,而不是只使用一种类型的并行化。如果后者是正确的,那么我不确定我应该选择哪种类型的并行化。对于如何使这两种类型的并行化一起工作,科学工具包-学习文档等等并没有提供任何想法。

请让我知道,如果我可以提供更多的信息,我的设置,如果这将是有用的提供一个更有帮助的答案。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-04 02:07:12

不,只使用一种类型的并行化。不可能嵌套joblib调用。我认为将使用最外层的循环,即cross_val_score,但我不确定。

实际上应该并行化的循环在一定程度上取决于设置。我可能会选择RandomForestClassifier(n_jobs=-1)并依次执行cross_val_score。使用一个冗长的GridSearchCV,它也将很快给您提供一些关于验证准确性的见解。

相反,您可以并行执行cross_val_score,与CPU相比,您有几个折叠(比如5倍和5个CPU)。通常,如果你搜索最大深度的话,一些森林的时间会比其他森林短得多。然后,快速森林将完成他们的工作,CPU将空闲,而“慢”森林将仍然是训练。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29904888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档