【问题标题】:How to return average score for precision, recall and F1-score from Sklearn Classification report?如何从 Sklearn 分类报告中返回准确率、召回率和 F1 分数的平均分数?
【发布时间】:2018-03-08 12:56:24
【问题描述】:

我用 Sklearn 计算了准确率、召回率和 F1 分数,得到的结果如下:

               precision    recall  f1-score   support

          0       0.82      0.87      0.84      2517
          1       0.86      0.81      0.83      2483

avg / total       0.84      0.84      0.84      5000

我试过这段代码:

 print("precision_score: ",precision_score(test_y, predicted))
 print("recall_score: ",recall_score(test_y, predicted))
 print("f1_score: ",f1_score(test_y, predicted))

它显示标签 1 的 p、r 和 f1。

 precision_score:  0.857692307692
 recall_score:  0.808296415626
 f1_score:  0.832262077545

但是我怎样才能只返回 avg/total 的值呢?

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    其记录在案的here in the classification_report page

    报告的平均值是整个地区的患病率加权宏观平均值 类(相当于precision_recall_fscore_support 平均='加权')。

    所以要获得平均分数,您可以这样做:

    precision, recall, f1, _ = precision_recall_fscore_support(test_y, predicted, 
                                                              average='weighted')
    

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 1970-01-01
      • 2020-07-06
      • 2018-06-02
      • 2018-10-08
      • 2019-11-23
      • 2017-03-14
      • 2019-07-28
      • 2016-06-19
      相关资源
      最近更新 更多