小编Ash*_*tad的帖子

Scikit-learn 0.24.0 或更高版本中的 GridSearchCV 和 RandomizedSearchCV 不打印 n_jobs=-1 的进度日志

在 scikit-learn 0.24.0 或更高版本中,当您使用 GridSearchCV 或 RandomizedSearchCV 并设置 n_jobs=-1 时,设置任何详细数字(1、2、3 或 100)时,不会打印任何进度消息。但是,如果您使用 scikit-learn 0.23.2 或更低版本,一切都会按预期工作,并且 joblib 会打印进度消息。

下面是一个示例代码,您可以使用它在 Google Colab 或 Jupyter Notebook 中重复我的实验:

from sklearn import svm, datasets
from sklearn.model_selection import GridSearchCV

iris = datasets.load_iris()
parameters = {'kernel':('linear', 'rbf'), 'C':[0.1, 1, 10]}
svc = svm.SVC()

clf = GridSearchCV(svc, parameters, scoring='accuracy', refit=True, n_jobs=-1, verbose=60)
clf.fit(iris.data, iris.target)
print('Best accuracy score: %.2f' %clf.best_score_)
Run Code Online (Sandbox Code Playgroud)

使用 scikit-learn 0.23.2 的结果:

Fitting 5 folds for each of 6 candidates, totalling 30 fits
[Parallel(n_jobs=-1)]: Using …
Run Code Online (Sandbox Code Playgroud)

scikit-learn joblib jupyter-notebook google-colaboratory gridsearchcv

6
推荐指数
1
解决办法
1286
查看次数