了解分类结果

Understanding classification results

我已经 运行 一个简单的双 class 神经网络,我最终得到了这个结果(eval):

我想我会对 True PositiveFalse Negative 结果感到满意。但是 False Positive 是什么意思呢? False Positive 表示它没有正确 class 化 2002 个元素并遗漏了它们?

Accuracy是66%,很糟糕吧?那和AUC有什么区别?

Precision 因为准确度也很差而受到影响(我希望达到 80%+)?

我如何翻转 Positive LabelNegative Label?我真的很想预测目标是找到 CANDIDATE

的 class化

基本上,对于 false/true 正数和 false/true 负数: 您已经检测到数据集中几乎所有的候选样本,其中 3420 个被正确预测为 TRUE,其中 31 个被预测为 FALSE。此信息在召回率中捕获:3420/(3420+31) = 99.1%。它很高,所以非常好。

但是,您预测太多 候选人。事实上,在模型预测的所有 TRUE 值中,3420 个实际上是 TRUE,2002 个实际上是 FALSE。这使得精确率很差:3420/(3420+2002)=63.1%。这不是很好。

F1是Precision和Recall的组合,将它们汇总成一个值,某种加权平均。公式为 2*(P*R)/(P+R)。因此,如果 Precision 或 Recall 之一不好:F1score 将捕获它。

您可以看到您的数据集中共有 5999 个示例。其中,3451 个是真的,2548 个是假的。所以你有 57% 的数据是真实的。如果你做了一个非常愚蠢的分类器,无论特征是什么,都将所有东西都分类为真,那么你将获得 57% 的准确率。鉴于此,66.1% 的准确率并不是很好。 如果您查看 table 的第二列,您只能预测 5999 个样本中的 577 个错误。您的分类器严重偏向于 TRUE 预测。

对于 AUC,它代表曲线下面积。您可以阅读more detailed info about it here。总结一下:当你预测一个值时,你并没有真正直接得到 True 或 False。您会得到一个介于 0(假)和 1(真)之间的实数。对预测值(例如 0.2)进行分类的方法是使用阈值。阈值默认设置为 0.5。因此,如果您预测 0.2,您的模型将预测将其归类为 False,因为 0.2<0.5。但是你可以让阈值在 0 和 1 之间移动。如果分类器真的很好,如果它真的很好地区分了 Falses 和 Trues 预测,那么 AUC 将接近 1。如果它真的很差,它将接近 0.5 .如果您需要更多信息,请参阅 link。