解释tensorflow中多类的不同Matthews相关系数

2024-04-25 15:46:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解释在MCC的tensorflow中得到的不同结果。 我有3个类,我使用分类交叉熵作为损失函数。我在tensoflow插件的度量中添加了mcc,如下所示:

tfa.metrics.MatthewsCorrelationCoefficient(name="mcc", num_classes=3)
test_metrics = model.evaluate(test_gen, verbose=1)
test_mcc = test_metrics[model.metrics_names.index("mcc")]

# THIS PART IS ADDED TO TEST DIFF BETWEEN EVAL AND PREDICT
y_classes = test_gen.targets.argmax(axis=-1)
pred_prop = model.predict(test_gen, verbose=1)
test_mcc_sklearn = matthews_corrcoef(y_classes, pred_prop.argmax(axis=-1))
  • 培训输出(一个历元的ex):…-损失:0.7549-附件:0.7276-auc:0.8313-mcc:0.3735-val_损失:0.7677-val_附件:0.7302-val_auc:0.8211-val_mcc:0.3745
  • 评估输出:。。。损失:0.7879-acc:0.7124-auc:0.8107-mcc:0.3768
  • 测试_mcc=[0.24070711 0.29297936 0.5968444]
  • 测试电机控制中心学习=0.04130715666673915

这是我第一次使用mcc,我真的对这种不同的结果感到困惑


Tags: testverbose附件modelvalclassesmetricsgen