> How about: refit="all" or refit=idx or refit="string-identifier" (only if not a callable scorer)?

I earlier suggested refit="string-identifier" and had thought idx equally. I don't mind this at all.

>  I was thinking people could also use best_estimators_[idx].predict directly.

Yes, but they could equally fit it themselves if this is how they're to use it. But only one best estimator can be used with GridSearchCV's fit-and-predict API...

That is, unless `best_estimator_` is affected by the user changing `refit` at runtime:

```
>>> clf = GridSearchCV(SVC(), ..., scoring=['f1', 'roc_auc'], refit=True)
>>> clf.fit(X, y)
>>> clf.refit='f1'   # equivalently, clf.set_params(refit='f1') or clf.set_params(refit=0)
>>> clf.predict(X_test)  # predict with the best scorer by F1
>>> clf.refit = 'roc_auc'
>>> clf.predict(X_test)  # predict with the best scorer by ROC