Scikitlearn GridSearchCV最佳模型得分



我正在尝试从我的GridSearchCV对象中打印最佳模型的训练和测试分数。我最初的猜测是使用cv_results['best_train_score']cv_results['best_test_score'],但在查看文档后,我不认为cv_results有"best_train_score"。

我也看到有一个best_estimator_,但我不确定我是否可以用它来打印测试和训练分数。如有任何帮助,不胜感激。

您可以使用拟合的GridSearchCVbest_estimator_来检索最佳模型,然后使用估计器的score函数来计算训练和测试准确性。

如下:

from sklearn import svm, datasets
from sklearn.model_selection import GridSearchCV, train_test_split
iris = datasets.load_iris()
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.2
)
parameters = {"kernel": ("linear", "rbf"), "C": [1, 10]}
svc = svm.SVC()
cv = GridSearchCV(svc, parameters)
cv.fit(iris.data, iris.target)
model = cv.best_estimator_
print(f"train score: {model.score(X_train, y_train)}")
print(f"test score: {model.score(X_test, y_test)}")
输出:

train score: 0.9916666666666667
test score: 1.0

最新更新