Sklearn GridSearchCV TypeError:'LeaveOneOut'对象不可迭代

时间:2017-06-01 13:56:50

标签: python scikit-learn cross-validation grid-search

我正在尝试解决我得到的错误,但没有运气。

我的目标是为神经网络执行带有交叉验证的GridSearch(Leave One Out)。 我正在使用sklearn和python 2.7。我有300个样本。

这是我的代码:

from sklearn.model_selection import LeaveOneOut
from sklearn import metrics
from sklearn.neural_network import MLPClassifier
from sklearn import grid_search

my_cv = LeaveOneOut()

param_grid = {'hidden_layer_sizes': [(249,),(500,),(250,),(10,)], 
'activation': ('relu', 'logistic'),'solver': 
('sgd','adam'),'learning_rate_init':[0.005,0.05,0.001]}

nn = MLPClassifier(alpha=0.001,random_state=1,nesterovs_momentum=True)
clf = grid_search.GridSearchCV(estimator=nn, param_grid=param_grid, cv=my_cv)
clf.fit(X, y)
print clf.best_score_
print clf.best_params_

我得到的错误是: TypeError:'LeaveOneOut'对象不可迭代

请注意,如果我使用KFold(n_splits = 300)而不是LeaveOneOut(),则会发生同样的事情。

更新

已解决:替换后

from sklearn import grid_search

from sklearn.model_selection import GridSearchCV

感谢@mkaran

0 个答案:

没有答案