我正尝试使用GridSearchCV来评估不同参数集合下的各种模型。逻辑回归和k-NN没有问题,但当n_jobs=-1时,决策树、随机森林以及其他一些分类器类型会出现问题。
for classifier, paramSet, classifierName in zip(list_classifiers, list_paramSets, list_clfNames):
gs = GridSearchCV(
estimator = classifier,
param_grid = paramSet,
cv = 10,
n_jobs = -1
)
gs.fit(X_train, y_train)
plot_learning_curve(gs, "Learning Curve", X_train, y_train, n_jobs=-1)
我正在使用Google Colab,但以下任意一种解决方案均未能解决我的问题。
from sklearn.externals.joblib import parallel_backend
clf = GridSearchCV(...)
with parallel_backend('threading',n_jobs = -1):
clf.fit(x_train, y_train)
if __name__ == "__main__":
import multiprocessing as mp; mp.set_start_method('forkserver', force=True) // 'spawn' has also failed
/// Gridsearch and fit here ///
这是我的源代码:https://github.com/bahadirbasaran/pulsarDetection/blob/master/main.ipynb 错误日志:
![error message](https://istack.dev59.com/FLXEe.webp)
if __name__ == "__main__":
下面了吗?也可以尝试结合两者,将import ... parallel_backend
放在你的代码顶部,并将for classifier...
循环放在with parallel_backend...
子句中。如果不熟悉multiprocessing...
可以参考相关文档。 - E. Bassett