4

我正在使用网格搜索来调整模型的参数(随机森林、线性回归等)。所以我将gs对象保存在grid_searches

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

那么我应该如何使用 Grid Search 找到的最佳模型进行预测呢?

4

1 回答 1

3

目前尚不清楚,从代码摘录中,您如何设置refit. 根据文档best_estimator_仅当它是 时才可用True。如果False,您应该仍然能够从 中找到性能最佳的参数grid_scores_,然后将它们与 一起使用set_params()

于 2015-12-09T23:25:05.000 回答