下面的腳本運行良好在我的機器上n_samples=1000
,但死亡(沒有錯誤,只是停止工作)與n_samples=10000
。這隻會發生在使用Anaconda python發行版(numpy 1.8.1)上,但對於Enthought(1.9.2)來說是很好的。任何想法會造成這種情況?scikit學習GridSearchCV不工作作爲樣本增加
from sklearn.linear_model import LogisticRegression
from sklearn.grid_search import GridSearchCV
from sklearn.metrics.scorer import log_loss_scorer
from sklearn.cross_validation import KFold
from sklearn import datasets
import numpy as np
X, y = datasets.make_classification(n_samples=10000, n_features=50,
n_informative=35, n_redundant=10,
random_state=1984)
lr = LogisticRegression(random_state=1984)
param_grid = {'C': np.logspace(-1, 2, 4, base=2)}
kf = KFold(n=y.size, n_folds=5, shuffle=True, random_state=1984)
gs = GridSearchCV(estimator=lr, param_grid=param_grid, scoring=log_loss_scorer, cv=kf, verbose=100,
n_jobs=-1)
gs.fit(X, y)
注:我使用sklearn 0.16.1在這兩個分佈和正在使用OS X.
我注意到,升級到版本numpy的1.9.2與Enthought分佈(通過手動更新)打破網格搜索。儘管我沒有將Anaconda numpy版本降級到1.8.1。
版本的numpy和sklearn在每個發行版中?使用'python -v'運行 –
以查找有關失敗的更多信息。 – OYRM
它實際上並沒有失敗,只是停止在網格搜索中實際進行並「掛起」(我在活動監視器中看不到CPU)。版本是:Enthought:numpy 1.8.1,sklearn 0.16.1; Anaconda:顛簸1.9.2,sklearn 0.16.1 – user1507844