AttributeError:'GridSearchCV'对象没有属性'best_estimator _'

时间:2015-12-09 21:14:33

标签: python scikit-learn random-forest grid-search

我正在使用网格搜索来调整模型的参数(随机森林,线性回归等)。所以我在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_'

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

1 个答案:

答案 0 :(得分:3)

从代码摘录中,您不清楚如何设置refit。根据{{​​3}},best_estimator_仅在True时可用。如果False,您仍然可以找到grid_scores_中效果最佳的参数,然后将其与set_params()一起使用。