Python sklearn GridSearchCV:并行化不起作用

时间:2015-08-21 14:05:01

标签: python parallel-processing scikit-learn

我在GridSerachCV包和并行化中使用sklearn时遇到了一些问题。

要查看它是否来自我的数据,我尝试对iris中嵌入的sklearn数据集执行相同类型或处理。 我尝试针对不同的参数值优化SVM分类器。当我设置n_jobs=1没有问题时,它运行良好(以下代码运行大约0.5秒)。但是如果我只是将n_jobs更改为其他值,那么它会无限期地运行(我没有让它运行几个小时,但是超过10分钟后我仍然没有得到任何结果)。

以下是n_jobs=3的代码:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn import cross_validation
from sklearn import datasets
from sklearn import grid_search

iris = datasets.load_iris()
X = iris.data
y = iris.target

X = StandardScaler().fit_transform(X)

parameters = {'C': [0.1,0.3,0.5,0.7,1.0],\
             'coef0': [0.1,0.3,0.5,0.7,0.9],\
             'degree': [2,3,4],\
             'gamma': [0.0,0.1,0.2]}

clf = SVC(random_state=0, max_iter=-1, probability=False,shrinking=True, verbose=False,\
          class_weight='auto',tol=0.0001, kernel='poly')
gridsearch_RF = grid_search.GridSearchCV(clf, parameters, n_jobs=3,  cv=2, verbose=0)
gridsearch_RF = gridsearch_RF.fit(X,y)

print gridsearch_RF.best_score_
print gridsearch_RF.best_params_

我也试过另一个分类器(RandomForest),我也遇到了同样的问题。

有没有人遇到过同样的问题?

(我使用WinPython-64bits-2.7.9.5和sklearn版本0.16.1)

0 个答案:

没有答案