我已经设置了一个GridSearchCV,并有一组参数,我将找到最佳的参数组合。我的GridSearch总共有12个候选模型。
然而,我还对查看所有12个模型的准确度得分感兴趣,而不仅仅是最佳得分,因为我可以通过使用.best_score_
方法清楚地看到。我对揭开GridSearch有时感觉像的黑匣子感到好奇。
我看到GridSearch有一个scoring=
参数,但我看不到任何方法可以迭代地打印出得分。
任何建议都将不胜感激。提前感谢。
回答:
使用grid_scores_
属性:
>>> clf = GridSearchCV(LogisticRegression(), {'C': [1, 2, 3]})>>> clf.fit(np.random.randn(10, 4), np.random.randint(0, 2, 10))GridSearchCV(cv=None, estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, penalty='l2', random_state=None, tol=0.0001), fit_params={}, iid=True, loss_func=None, n_jobs=1, param_grid={'C': [1, 2, 3]}, pre_dispatch='2*n_jobs', refit=True, score_func=None, scoring=None, verbose=0)>>> from pprint import pprint>>> pprint(clf.grid_scores_)[mean: 0.40000, std: 0.11785, params: {'C': 1}, mean: 0.40000, std: 0.11785, params: {'C': 2}, mean: 0.40000, std: 0.11785, params: {'C': 3}]