AttributeError: 'GridSearchCV' object has no attribute 'cv_results_'

夙愿已清 提交于 2019-12-01 03:17:13

问题


I try to apply this 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)

But I have this error :

AttributeError: 'GridSearchCV' object has no attribute 'cv_results_'

回答1:


Update your scikit-learn, cv_results_ has been introduced in 0.18.1, earlier it was called grid_scores_ and had slightly different structure http://scikit-learn.org/0.17/modules/generated/sklearn.grid_search.GridSearchCV.html#sklearn.grid_search.GridSearchCV




回答2:


Solved ! Uninstall and install conda scikit learn in 0.18.1 How to upgrade scikit-learn package in anaconda.

When I import GridSearch :

from sklearn.model_selection import GridSearchCV



回答3:


from sklearn.model_selection import GridSearchCV

use this clf.cv_results_




回答4:


First, you should update your scklearn, using:

pip install -U scikit-learn

After that, check if you are include the wrong module:

from sklearn.grid_search import GridSearchCV

Change to new path:

from sklearn.model_selection import GridSearchCV

(this is the right way)



来源:https://stackoverflow.com/questions/41524565/attributeerror-gridsearchcv-object-has-no-attribute-cv-results

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!