我使用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)。在其他任何情况下,它们在某些点上都会出现分歧。