Python 属性错误:';GridSearchCV';对象没有属性';cv_结果';

Python 属性错误:';GridSearchCV';对象没有属性';cv_结果';,python,machine-learning,scikit-learn,text-mining,Python,Machine Learning,Scikit Learn,Text Mining,我尝试应用以下代码: 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,

我尝试应用以下代码:

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_'

更新您的scikit学习,
cv\u结果
已在0.18.1中引入,之前它被称为
grid\u分数
,结构略有不同

已解决! 在0.18.1中卸载并安装conda scikit learn

导入GridSearch时:

from sklearn.model_selection import GridSearchCV

首先,您应该使用以下方法更新您的scklearn:

pip install -U scikit-learn
之后,检查是否包含错误的模块:

from sklearn.grid_search import GridSearchCV
更改为新路径:

from sklearn.model_selection import GridSearchCV

(这是正确的方法)

从sklearn.model\u选择导入GridSearchCV


使用此
clf.cv\u结果

您使用的是什么版本的python/sklearn?python的版本3.5.2,但当我选中sklearn版本:0.0时。Sklearn在我更新scikit learn时自动更新?我不明白。。当我在Pycharm中检查我的版本时,我的版本是0.18.1。我尝试更新它:1)conda update conda和2)conda install scikit learn=0.18.1,但我有相同的错误显然这不是IDE使用的python,但这不是python相关的问题,而是您的配置。缺少此字段只能由旧版本的sklearn造成。