Я пытаюсь применить этот код:

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_'
10
Cox Tox 7 Янв 2017 в 20:50

4 ответа

Лучший ответ

Решено! Удалите и установите conda scikit learn в 0.18.1 Как обновить пакет scikit-learn в анаконде.

Когда я импортирую GridSearch:

from sklearn.model_selection import GridSearchCV
3
Community 23 Май 2017 в 12:02

Во-первых, вы должны обновить ваш sklearn, используя:

pip install -U scikit-learn

После этого убедитесь, что вы подключили не тот модуль:

from sklearn.grid_search import GridSearchCV

Изменить на новый путь:

from sklearn.model_selection import GridSearchCV

(это правильный путь)

-3
phd 15 Июл 2017 в 18:08

Обновите ваш 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

17
lejlot 7 Янв 2017 в 22:36

Из sklearn.model_selection import GridSearchCV

Используйте это clf.cv_results_

2
Yatin Arora 6 Фев 2019 в 06:51