我正在尝试使用scikit-learn的cross_val_score对模型进行交叉验证。
我尝试通过设置n_jobs = -1来使用多个内核,但结果是

OSError:[Errno 28]设备上没有剩余空间


下面给出的代码导致错误:

cross_val_score(mod1, train_feats1, target, cv=5, scoring=make_scorer(accuracy_score), n_jobs=-1)


而:

cross_val_score(mod1, train_feats1, target, cv=5, scoring=make_scorer(accuracy_score), n_jobs=1)


工作完美。

我做错什么了吗?

据我所知,Kaggle最多允许4个CPU进行并行计算。
这是链接:https://www.kaggle.com/product-feedback/39790


如何使用所有四个CPU并行执行交叉验证过程?

最佳答案

我通过使用Python笔记本中的以下代码设置JOBLIB_TEMP_FOLDER变量来克服了此问题。

%env JOBLIB_TEMP_FOLDER=/tmp


希望有帮助!

关于machine-learning - 错误:Kaggle笔记本中的设备上没有剩余空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47730811/

10-12 19:31