繁体   English   中英

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

[英]Total number of TP, TN, FP & FN do not sum up to total number of observed values

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

但是,如果您查看训练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数量的增加,总和进一步减少。 例如,比较纪元 2 和纪元 1 的值。纪元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 的值在训练和验证中都是浮点数? 根据我的理解,这些值应该始终为 integer。根据理解有用指标中的解释,这些值表示计数,因此应该是整数。

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

但是,如果您查看train 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 的值。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 的值都是浮点数? 根据我的理解,这些应该始终是 integer。 根据理解有用指标中的解释,这些值表示计数,因此应该是整数。

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

所以而不是

import keras

采用

from tensorflow import keras

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM