web-dev-qa-db-fra.com

AttributeError: l'objet 'GridSearchCV' n'a pas d'attribut 'cv_results_'

J'essaie d'appliquer ce code:

pipe = make_pipeline(TfidfVectorizer(min_df=5), LogisticRegression())
param_grid = {'logisticregression__C': [ 0.001, 0.01, 0.1, 1, 10, 100],
              "tfidfvectorizer__ngram_range": [(1, 1),(1, 2),(1, 3)]} 

grid = GridSearchCV(pipe, param_grid, cv=5)
grid.fit(text_train, Y_train)

scores = grid.cv_results_['mean_test_score'].reshape(-1, 3).T
# visualize heat map
heatmap = mglearn.tools.heatmap(
scores, xlabel="C", ylabel="ngram_range", cmap="viridis", fmt="%.3f",
xticklabels=param_grid['logisticregression__C'],
yticklabels=param_grid['tfidfvectorizer__ngram_range'])
plt.colorbar(heatmap)

Mais j'ai cette erreur:

AttributeError: 'GridSearchCV' object has no attribute 'cv_results_'
6
Cox Tox

Résolu! Désinstallez et installez conda scikit learn dans 0.18.1 Comment mettre à niveau le package scikit-learn dans anaconda .

Lorsque j'importe GridSearch:

from sklearn.model_selection import GridSearchCV
3
Cox Tox

Mettez à jour votre scikit-learn, cv_results_ a été introduit dans la version 0.18.1, auparavant il s'appelait grid_scores_ et avait une structure légèrement différente http://scikit-learn.org/0.17/modules/generated/sklearn.grid_search.GridSearchCV.html#sklearn.grid_search.GridSearchCV

14
lejlot

à partir de sklearn.model_selection import GridSearchCV

utilisez ceci clf.cv_results_

1
Yatin Arora