通过MCP连接 →

输入计算

数学公式

广告

结果

F1分数
0.7778
harmonic mean of precision & recall
精确率 0.7 (70%)
召回率 0.875 (87.5%)
F1分数(%) 77.78%

什么是F1分数?

F1分数是一项把精确率(Precision)召回率(Recall)融合为单一数值的综合指标,因此在机器学习、信息检索和统计学领域被广泛用于评估分类模型的好坏。它本质上是精确率与召回率的调和平均数,会奖励两者兼顾、整体均衡的分类器,而不是只在某一项上表现突出的模型。

显示真阳性、假阳性、假阴性和真阴性的混淆矩阵
混淆矩阵:F1 分数由 TP、FP 和 FN 计算得出。

如何使用本计算器

从你的混淆矩阵中填入三个计数值:真阳性(TP,被正确预测为正例的样本)、假阳性(FP,本是负例却被错误预测为正例的样本)、假阴性(FN,本是正例却被漏判的样本)。计算器会即时给出精确率、召回率以及对应的F1分数。

计算公式详解

精确率 = \(\text{TP} / (\text{TP} + \text{FP})\),衡量在所有被预测为正例的样本中,真正预测对了多少。召回率 = \(\text{TP} / (\text{TP} + \text{FN})\),衡量在所有实际正例中,模型成功找出了多少。F1分数则为

$$F_1 = \frac{2 \cdot (\text{Precision} \cdot \text{Recall})}{\text{Precision} + \text{Recall}}$$

由于它是调和平均数,只要精确率或召回率中任意一项偏低,F1分数都会被大幅拉低。

展示精确率和召回率结合成 F1 分数的示意图
F1 是精确率和召回率的调和平均数。

实例演算

假设 \(\text{TP} = 70\),\(\text{FP} = 30\),\(\text{FN} = 10\)。精确率 = \(70 / 100 = 0.70\);召回率 = \(70 / 80 = 0.875\);

$$F_1 = \frac{2 \cdot (0.70 \cdot 0.875)}{0.70 + 0.875} = \frac{2 \cdot 0.6125}{1.575} \approx 0.7778$$

即约77.78%。

常见问题

什么时候该用F1而不是准确率(Accuracy)?当各类别样本数量不平衡时,更推荐使用F1。因为在某一类别占绝对多数的情况下,准确率往往会虚高,给人误导性的乐观印象。

F1分数多高才算好?F1的取值范围是0到1,越接近1越好。具体多少算"好"要看任务类型,但通常超过0.8就被认为表现相当不错。

为什么要用调和平均数?相比简单的算术平均,调和平均会对精确率与召回率之间的严重失衡给予更重的惩罚,从而确保两项指标都必须保持在合理较高的水平。

最后更新: