2017-01-07 26 views
0

を持っていない私は、このコード適用しよう:はAttributeError: 'GridSearchCV' オブジェクトが属性 'cv_results_'

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) 

をしかし、私はこのエラーがあります。事前に

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

おかげ

+0

どのバージョンのpython/sklearnをお使いですか? – gobrewers14

+0

Pythonのバージョン3.5.2ですが、sklearnのバージョン:0.0をチェックします。 scikit-learnを更新するとSklearnが自動的に更新されますか? –

答えて

3

解決済み! アンインストールしてインストールconda scikit learn 0.18.1 How to upgrade scikit-learn package in anacondaにあります。

私はGridSearchインポートする場合:

from sklearn.model_selection import GridSearchCV 
5

更新あなたのscikit-learn、cv_results_は0.18.1で導入されました。以前はgrid_scores_と呼ばれ、わずかに異なる構造を持っていましたhttp://scikit-learn.org/0.17/modules/generated/sklearn.grid_search.GridSearchCV.html#sklearn.grid_search.GridSearchCV

+1

私は理解していません。Pycharmで私のバージョンをチェックすると、私はバージョン0.18.1を持っています。私はそれを更新しようとしています: 1)conda update condaと2)condaのインストールscikit-learn = 0.18.1 しかし、私は同じエラーがあります –

+0

これはあなたのIDEで使用されているPythonではありませんが、これはpythonあなたの設定に関連しています。このフィールドの欠如は古いバージョンのsklearnによってのみ引き起こされる可能性があります。 – lejlot

-2

は、まず、あなたが使用して、あなたのscklearnを更新する必要があります。その後

pip install -U scikit-learn 

は、あなたが間違ったモジュールが含まれているかどうかを確認:

from sklearn.grid_search import GridSearchCV 

新しいパスに変更:

from sklearn.model_selection import GridSearchCV 

(これは正しい方法です)

関連する問題