F1分数和分类错误之间的关系是什么?

我使用K折交叉验证来寻找一个最大化F1分数的参数。然而,我检查了准确率(1-错误率),结果发现虽然该参数带来了较高的F1分数,但准确率却较低。我随机尝试了几个其他参数值,尽管它们带来了较低的F1分数,但准确率却更高。我使用K折交叉验证对训练数据进行训练,并从原始训练数据中提取了一组测试数据。


回答:

F1 = 2 TP / (2 TP + FN + FP)ACC = (TP + TN) / (TP + FN + FP + FN) 因此,如你所见,F1分数对正类有“偏见”,对负样本的正确分类(TN)几乎不给予奖励。而准确率是一个简单的概率对象(正确分类的概率有多大),F1分数则是许多相当随意的想法之一,旨在更关注一个类别(在这种情况下是正类),没有一个真正好的概率解释。因此,两者之间没有简单直接的关系——完全不同的模型可能会有好的F1分数,而完全不同的模型可能会有好的准确率。只有在你能有一个完美的模型(0错误)时,它才会同时最大化这两个度量(反之亦然,如果你有一个糟糕的模型,准确率为0)。在其他任何情况下,它们在某些点上都会出现分歧。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注