首页 文章

如何在Keras输出每级精度?

提问于
浏览
4

Caffe不仅可以打印整体精度,还可以打印每级精度 .

在Keras日志中,只有整体准确性 . 我很难计算出单独的类精度 .

Epoch 168/200 0s - 损失:0.0495 - acc:0.9818 - val_loss:0.0519 - val_acc:0.9796 Epoch 169/200 0s - 损失:0.0519 - acc:0.9796 - val_loss:0.0496 - val_acc:0.9815 Epoch 170/200 0s - 损失:0.0496 - acc:0.9815 - val_loss:0.0514 - val_acc:0.9801

谁知道如何在keras中输出每级精度?

1 回答

  • 7

    精确度和召回率是多类别分类的更有用的衡量标准(参见definitions) . 按照Keras MNIST CNN示例(10级分类),您可以使用sklearn.metricssklearn.metrics获取每类度量:

    from sklearn.metrics import classification_report
    import numpy as np
    
    Y_test = np.argmax(y_test, axis=1) # Convert one-hot to index
    y_pred = model.predict_classes(x_test)
    print(classification_report(Y_test, y_pred))
    

    结果如下:

    precision    recall  f1-score   support
    
          0       0.99      1.00      1.00       980
          1       0.99      0.99      0.99      1135
          2       1.00      0.99      0.99      1032
          3       0.99      0.99      0.99      1010
          4       0.98      1.00      0.99       982
          5       0.99      0.99      0.99       892
          6       1.00      0.99      0.99       958
          7       0.97      1.00      0.99      1028
          8       0.99      0.99      0.99       974
          9       0.99      0.98      0.99      1009
    
    avg / total   0.99      0.99      0.99     10000
    

相关问题