利用sklern计算混淆矩阵及分类报告

def f1Score(correct_label, predict_label):
    """
    计算混淆矩阵及f1得分
    :param correct_label: 正确的分类标签 ['0','1','2','3']
    :param predict_label: 预测的分类标签
    :return: 
    """
    m = confusion_matrix(correct_m, predict_m)
    print('混淆矩阵为:', m, sep='
')
    r = classification_report(correct_m, predict_m)
    print('分类报告为:', r, sep='
')

result

混淆矩阵为:
[[  29    7    1    5    7    0    1    2   43]
 [   6   32    1   10    3    6    1    6   48]
 [   4    2    9   13    1    1    1    7   35]
 [   7    6   11  142    3    1    2   27   96]
 [   8    0    0    3  145   19    7   59  158]
 [   1    6    0    1   45   92    4   39  104]
 [   2    0    8    4   25    4   56   97  114]
 [   1    5    5   49   50   27   71 1641  485]
 [  19   19    9   55   51   41   35  263 6474]]
分类报告为:
              precision    recall  f1-score   support

      B-任务场景       0.38      0.31      0.34        95
      B-性能指标       0.42      0.28      0.34       113
      B-系统组成       0.20      0.12      0.15        73
      B-试验要素       0.50      0.48      0.49       295
      I-任务场景       0.44      0.36      0.40       399
      I-性能指标       0.48      0.32      0.38       292
      I-系统组成       0.31      0.18      0.23       310
      I-试验要素       0.77      0.70      0.73      2334
           O       0.86      0.93      0.89      6966

    accuracy                           0.79     10877
   macro avg       0.48      0.41      0.44     10877
weighted avg       0.77      0.79      0.78     10877
原文地址:https://www.cnblogs.com/bincoding/p/12935354.html