TP、TN、FP 和 FN 的总数不等于观测值的总数



我正在通过TensorFlow对不平衡数据进行分类。在本教程中,他们使用了Kaggle的信用卡欺诈检测。在本节中,您可以看到训练示例的数量为182276验证样本的数量为45569。为了评估基线模型,他们使用了Keras的内置指标——TruePositive、FalsePositive,TrueNegative、FalseNegative。

但是,如果您查看训练模型部分中的训练日志,则可以看到FP+TP+FN+TN的总和不等于训练示例的数量。总和也不等于验证数据的验证示例数。

第1部分

EPOCH 1

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

上述数字与182276相差甚远。所有随后的时代都是如此。为什么会出现这种情况?

第2部分

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

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

总额现在又减少了45574。排名靠后的时代也是如此。

  1. 总和不应该是一样的吗
  2. 如果不是,为什么它会继续下降

第3部分

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

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

所以不是

import keras

使用

from tensorflow import keras

相关内容

  • 没有找到相关文章

最新更新