【问题标题】:Total number of TP, TN, FP & FN do not sum up to total number of observed valuesTP、TN、FP 和 FN 的总数不等于观测值的总数
【发布时间】:2021-04-17 13:43:42
【问题描述】:

我正在浏览 TensorFlow 的 Classification on imbalanced data。在本教程中,他们使用了Kaggle's Credit Card Fraud Detection。在this 部分,您可以看到训练 示例的数量为182276验证 示例的数量为45569。为了评估基线模型,他们使用了 Keras 的内置指标 - TruePositive、FalsePositive、TrueNegative、FalseNegative。

但是,如果您查看train the model 部分中的训练日志,您会发现 FP+TP+FN+TN 的总和不等于训练示例的数量。总和也不等于验证数据的验证示例数。

第 1 部分

纪元 1

TP = 64
FP = 25
TN = 139431.9780
FN = 188.3956
TP+FP+TN+FN = 139709.3736

上述总和远未接近 182276。所有后续时期也是如此。为什么会这样?

第 2 部分

随着 epoch 数量的增加,总和进一步减少。例如比较 epoch 2 和 1 的值。 第二纪元

TP - 25
FP - 5.67
TN - 93973.1538
FN - 136.2967 
TP+FP+TN+FN = 94135.1205

现在总和进一步减少了 45574。对于低阶的 epoch 也是如此。

  1. 总和不应该一样吗?
  2. 如果不是,那为什么它一直在下降?

第三部分

为什么训练和验证中 TP、FP、FN、TN 的值都是浮点数?根据我的理解,这些应该始终是整数。根据Understanding useful metrics 中的解释,这些值表示计数,因此应该是整数。

【问题讨论】:

  • 这很奇怪,它们确实需要是整数。所以我自己下载了数据并进行了测试。所有值都是整数。数据集处理可能有问题。你也可以检查这个link
  • 您是否尝试过多次运行?还是一样吗?关于其他问题的任何想法?

标签: python tensorflow keras metrics confusion-matrix


【解决方案1】:

我遇到了类似的问题,TP、TN、FP 和 FN 的总和在每个时期翻了一番,并且是非整数。我的解决方案是我的模型是使用张量流 keras 构建的,但我直接导入了 keras。

所以而不是

import keras

使用

from tensorflow import keras

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2021-03-31
    • 2021-05-04
    • 2015-03-13
    • 2021-03-01
    • 2019-06-16
    • 2017-09-27
    • 1970-01-01
    • 2021-08-29
    相关资源
    最近更新 更多