Python 属性错误:';GridSearchCV';对象没有属性';最佳估计量x27;

Python 属性错误:';GridSearchCV';对象没有属性';最佳估计量x27;,python,scikit-learn,random-forest,grid-search,Python,Scikit Learn,Random Forest,Grid Search,我正在使用网格搜索来调整模型的参数(随机森林、线性回归等)。因此,我将gs对象保存在grid\u搜索中: gs = GridSearchCV(model, params, cv=cv, n_jobs=n_jobs, verbose=verbose, scoring="mean_squared_error", refit=refit) gs.fit(trainX,trainy) grid_searches[key] = gs 然后,我想访问每个模型的最佳估计器

我正在使用网格搜索来调整模型的参数(随机森林、线性回归等)。因此,我将
gs
对象保存在
grid\u搜索中

gs = GridSearchCV(model, params, cv=cv, n_jobs=n_jobs,
                  verbose=verbose, scoring="mean_squared_error", refit=refit)
gs.fit(trainX,trainy)
grid_searches[key] = gs
然后,我想访问每个模型的最佳估计器,以便进行预测:

def predict(testX, testy, grid_searches):
    keys = models.keys()
    for k in keys:
        print("Predicting with %s." % k)
        yhat = grid_searches[k].best_estimator_.predict(testX)
错误如下:

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

那么,我应该如何使用网格搜索找到的最佳模型进行预测呢?

从代码摘录中不清楚您如何设置
refit
。根据,只有当
为真时,
最佳估计值
才可用。如果
False
,您应该仍然能够从
grid\u分数中找到性能最佳的参数,然后将它们与
set\u params()一起使用

您应该能够只使用
grid\u搜索[k]。预测(testX)
。调用
gs.fit(…)
后,
gs
应具有优化的参数(基于搜索空间)。如果您只尝试
网格搜索[k]。预测(…)
,会发生什么?另外,如果您在
gs.fit(…)
下使用
print gs.best\u estimator\uu
添加一行,会发生什么情况?