我试图使用GridSearchCV来评估具有不同参数集的不同模型。Logistic回归和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)
我正在谷歌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
错误日志:
任何帮助都将不胜感激
您不需要使用任何其他调用来创建线程。您的第一个代码段应该可以工作。如果你打电话:
它的回报是什么? 如果您使用该选项,然后传递
n_jobs=n_cpus
或n_jobs=n_cpus-1
(如果您不希望您的计算机被锁定),请查看该选项是否有效。 从sklearn逻辑回归文档中:因此,可能正在运行的模型实际上使用的CPU不超过1个
希望这些想法能有所帮助
相关问题 更多 >
编程相关推荐