如何从GridSearchCV的每个折叠中获得准确性和f1分数?

时间:2016-04-06 20:05:01

标签: python machine-learning scikit-learn

我正在使用GridSearchCV对象来训练分类器。我设置了5倍验证参数搜索,在调用fit()后,我需要查看每个折叠验证集的度量,即准确度和f1分数。我怎么能这样做?

 clf = GridSearchCV(pipeline,
                        param_grid=param_grid, 
                        n_jobs=1, 
                        cv=5,
                        compute_training_score=True)

注意:

  • 我没有单独的测试集可供使用,所以我不能只采用预测结果并使用标准指标函数来完成。
  • 使用clf.best_scores_不会提供我想要的信息,只提供mean_validation_score及其标准偏差。

1 个答案:

答案 0 :(得分:1)

分数位于grid_scores_,特别是cv_validation_scores

  

grid_scores _ :已命名的元组列表

     

包含所有参数的分数   param_grid中的组合。每个条目对应一个参数   设置。每个命名元组都具有以下属性:

     
      
  • 参数,一个词典   参数设置
  •   
  • mean_validation_score,平均得分超过   交叉验证折叠
  •   
  • cv_validation_scores,分数列表   每次折叠
  •   

但是你不会得到两个指标。这种优化器的重点是最大化一些单个度量/记分器功能,因此只有这个东西存储在一个对象内。为了达到这个目的,你需要运行两次,每次都有不同的得分功能。