Scikit learn 如何使用sklearn LogisticRegression启用多核处理?

Scikit learn 如何使用sklearn LogisticRegression启用多核处理?,scikit-learn,logistic-regression,Scikit Learn,Logistic Regression,Sklearn的逻辑回归模型拒绝并行运行。我将n_jobs设置为-1,还尝试了n_jobs=4。运气不好——只有一个磁芯在工作。我已经并行运行了其他sklearn模型,例如RandomForestClassifier和XGBoostClassifier 我正在Ubuntu 14.04上运行Python2.7.12和sklearn 0.18 其他人也提出了同样的问题(例如),但至今没有收到任何有希望的答复。我希望我的运气会更好。来自logisticRetression的文档,看起来n_jobs参数

Sklearn的逻辑回归模型拒绝并行运行。我将n_jobs设置为-1,还尝试了n_jobs=4。运气不好——只有一个磁芯在工作。我已经并行运行了其他sklearn模型,例如RandomForestClassifier和XGBoostClassifier

我正在Ubuntu 14.04上运行Python2.7.12和sklearn 0.18


其他人也提出了同样的问题(例如),但至今没有收到任何有希望的答复。我希望我的运气会更好。

来自
logisticRetression
的文档,看起来
n_jobs
参数仅用于单独的交叉验证折叠(不同于
RandomForestClassifier
的情况,其中单个树是并行计算的)

n_作业:int,默认值:1

交叉验证循环期间使用的CPU内核数。如果给予 如果值为-1,则使用所有磁芯


你想跑什么?AFAIK
LogisticRegression
不支持并行性可能有很多原因。但幸运的是,这没那么重要。在所有sane ml任务中,您都会使用交叉验证,并且sklearns很容易并行。@sascha这是一个很大的调用,通常一次分离的拆分比n次交叉验证更合适,在生产应用程序中,您可能只需要尽快训练模型。@maxymoo问题已被接受!当然你是对的,总是有用例的。但是,对于所谓的问题,它们中的大多数并不常见。由于LogisticReturnal不支持n_作业,另一种选择可能是使用SGDClassizer,它允许多核处理,如果您有一个大的数据集,它可能更适合,但是,您应该找到最好的超参数。谢谢您,Maxymoo。还有萨沙。我没有意识到n_jobs参数仅限于交叉验证(可能还有网格搜索)。我在做一些探索,对这两件事都不感兴趣。我只是希望加快单一型号的培训过程。哦,好吧!