对网格搜索中的所有组合使用交叉验证

Using cross validation on all combinations in grid search

我正在使用支持向量机对一些数据进行分类。我已将我的数据分成一个训练集和一个验证集,并且我使用 GridSearchCV 来训练不同的超参数并找到最佳参数。现在,我想打印所有这些的结果,包括训练集和验证集。训练集很简单,因为 GridSearchCV 有一个名为 grid_scores_ 的属性(我使用的是 scikit-learn 版本 1.17.1),我可以打印它以获得训练集上的所有结果。但是,我希望能够打印同样的东西,但用于我的验证集。我可以通过写

得到最好的结果
print(clf.score(X_test, y_test))

我希望我能得到这个,但对于所有的组合,不仅仅是最好的。这可能吗?

是的,你可以。您可以在 GridSearchCV 中设置一个名为 verbose 的参数。它控制控制台中显示消息的详细程度。

verbose 是一个 整数 :越高,消息越多。例如,如果您设置 verbose = 3,您将获得交叉验证的参数和每个组合的分数

您可以为此参数尝试不同的值。

希望对您有所帮助!