【问题标题】:How to evaluate a Keras multi-class model with Micro F-Measure?如何使用 Micro F-Measure 评估 Keras 多类模型?
【发布时间】:2020-02-27 11:09:11
【问题描述】:

我想在 Tensorflow2/Keras 中使用 Micro F-measures 评估我的多类模型。

如何做到这一点?

给定一个模型

model = tf.keras.models.load_model('NNMODEL.h5')

测试数据集

testX 
testY 

【问题讨论】:

    标签: tensorflow keras evaluation tf.keras


    【解决方案1】:

    最简单的方法是使用scikit-learn

    在官方文档中,可以看到如下示例(稍作修改):

    from sklearn.metrics import f1_score
    y_true = [0, 1, 2, 0, 1, 2]
    y_pred = [0, 2, 1, 0, 0, 1]
    result = f1_score(y_true, y_pred, average = None) (an array of f1-scores for each class)
    result_micro = f1_score(y_true, y_pred, average='micro') (a float value)
    

    您需要注意将您的'average'参数设置为None;这样,您将分别获得每个班级的 F1 分数。如果您确实想要一个总体 F1 分数而没有每个班级的 F1 分数,请使用average = 'micro'

    因此,对testX 中的每个元素进行预测,将类预测附加到一个列表(这构造了上面示例中的y_pred)然后y_true 实际上是基本事实,即@987654329 @ 在你的情况下。

    【讨论】:

      猜你喜欢
      • 2022-10-15
      • 2021-08-29
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2019-04-28
      相关资源
      最近更新 更多