机器学习中的F1分数:如何有效计算,应用和使用
已发表: 2025-02-10F1分数是评估机器学习(ML)模型的强大指标,旨在执行二进制或多类分类。本文将解释F1得分是什么,为什么重要,如何计算以及其应用,收益和限制。
目录
- 什么是F1分数?
- 如何计算F1分数
- F1得分与准确性
- F1分数的应用
- F1分数的好处
- F1分数的局限性
什么是F1分数?
在建立分类模型时,ML从业者面临着一个普遍的挑战:训练模型以捕获所有案件,同时避免错误警报。这在财务欺诈检测和医学诊断等关键应用中尤其重要,因为错误的警报和缺少重要的分类会带来严重的后果。在处理不平衡数据集时,实现适当的平衡特别重要,因为欺诈交易之类的类别比其他类别(合法交易)要稀有得多。
精确和回忆
为了衡量模型性能质量,F1分数结合了两个相关指标:
- 精度,哪个回答:“当模型预测一个积极的情况时,正确的频率是正确的?”
- 回想一下,哪些答案是“在所有实际的积极案例中,该模型正确识别了多少?”
一个高精度但低召回的模型过于谨慎,缺少许多真正的阳性,而召回率很高但精度低的模型过于侵略性,产生了许多误报。 F1分数通过采用精度和召回的谐波平均值来达到平衡,这给较低的值带来了更大的权重,并确保模型在两个指标上的表现都很好,而不是仅在一个指标上表现出色。
精确和回忆示例
为了更好地理解精度和回忆,请考虑垃圾邮件检测系统。如果系统的正确标记电子邮件为垃圾邮件,则意味着它具有很高的精度。例如,如果系统标志100封电子邮件作为垃圾邮件,其中90封实际上是垃圾邮件,则精度为90%。另一方面,高召回率意味着系统会捕获大多数实际的垃圾邮件电子邮件。例如,如果有200封实际的垃圾邮件电子邮件,并且我们的系统捕获了90个垃圾邮件,则召回率为45%。
F1分数的变体
在具有特定需求的多类分类系统或方案中,可以以不同的方式计算F1分数,具体取决于哪些因素很重要:
- Macro-F1:分别计算每个班级的F1分数,并获得平均值
- Micro-F1:计算所有预测的召回和精度
- 加权f1:类似于宏F1,但基于频率进行了加权
超越F1分数:F-Score家族
F1分数是一个称为F分数的较大指标家族的一部分。这些分数提供了不同的精度和回忆方式:
- F2:更加重视召回,这在虚假负昂贵时很有用
- F0.5:更加强调精度,当误报成本高昂时,这很有用
如何计算F1分数
F1得分在数学上定义为精度和回忆的谐波平均值。尽管这听起来很复杂,但是当分解为清晰的步骤时,计算过程很简单。
F1分数的公式:
在进行计算F1的步骤之前,重要的是要了解所谓的混乱矩阵的关键组成部分,该组件用于组织分类结果:
- 真实的积极因素(TP):正确识别为正的案例数
- 假阳性(FP):案件数量错误地识别为阳性
- 虚假负面因素(FN):错过的案件数(未识别的实际阳性)
一般过程涉及训练模型,测试预测和组织结果,计算精度和召回,并计算F1分数。
步骤1:训练分类模型
首先,必须对模型进行培训以进行二进制或多类分类。这意味着该模型需要能够将案例分类为属于两个类别之一。示例包括“垃圾邮件/不垃圾邮件”和“欺诈/不欺诈”。
步骤2:测试预测并组织结果
接下来,使用该模型在没有用作培训的一部分的单独数据集上执行分类。将结果组织到混淆矩阵中。此矩阵显示:
- TP:实际上有多少个预测是正确的
- FP:多少个积极预测不正确
- FN:错过了多少个阳性案件
混淆矩阵提供了模型的性能概述。
步骤3:计算精度
使用混淆矩阵,使用此公式计算精度:
例如,如果垃圾邮件检测模型正确识别了90个垃圾邮件电子邮件(TP),但错误地标记了10个非PAM电子邮件(FP),则精度为0.90。

步骤4:计算召回
接下来,使用公式计算回忆:
使用垃圾邮件检测示例,如果总共有200封垃圾邮件电子邮件,而型号则抓到了90个(TP),而缺少110(FN),则召回率为0.45。
步骤5:计算F1分数
有了精确和召回值,可以计算F1分数。
F1分数从0到1。解释分数时,请考虑以下一般基准:
- 0.9或更高:该模型的性能很好,但应检查过度拟合。
- 0.7至0.9:大多数应用的良好性能
- 0.5至0.7:性能还可以,但是该模型可以使用改进。
- 0.5或更少:该模型的性能较差,需要进行重大改进。
使用垃圾邮件检测示例计算以进行精确和召回,F1分数将为0.60或60%。
在这种情况下,F1分数表明,即使精确度,较低的召回率也会影响整体表现。这表明,捕获更多垃圾邮件电子邮件的空间有改善的空间。
F1得分与准确性
尽管F1和精度都量化了模型性能,但F1分数提供了更细微的措施。精度只需计算正确预测的百分比。但是,只要依靠准确性来衡量模型性能,当数据集中的一个类别的实例数量显着超过另一个类别时,可能会出现问题。这个问题称为准确性悖论。
要了解此问题,请考虑垃圾邮件检测系统的示例。假设电子邮件系统每天收到1,000封电子邮件,但其中只有10封实际上是垃圾邮件。如果垃圾邮件检测只是将每封电子邮件都不归类为垃圾邮件,则它仍然可以达到99%的准确性。这是因为1,000个中的990个预测是正确的,即使该模型在垃圾邮件检测方面实际上是没有用的。显然,准确性不能准确地了解模型的质量。
F1分数通过结合精度和回忆测量来避免此问题。因此,应在以下情况下使用F1代替准确性:
- 数据集不平衡。这在诸如对晦涩的医疗状况或垃圾邮件检测的诊断之类的领域中很常见,而其中一种类别相对罕见。
- FN和FP都很重要。例如,医疗筛查测试试图平衡捕获实际问题与不引起虚假警报的平衡。
- 该模型需要在太侵略性和太谨慎之间取得平衡。例如,在垃圾邮件过滤中,过于谨慎的过滤器可能会允许过多垃圾邮件(低召回),但很少会犯错误(高精度)。另一方面,即使确实抓住了所有垃圾邮件(高度召回),也可能会阻止真实的电子邮件(低精度)。
F1分数的应用
F1得分在平衡分类至关重要的各个行业中都有广泛的应用。这些应用包括财务欺诈检测,医学诊断和内容适度。
财务欺诈检测
旨在检测财务欺诈的模型是使用F1分数非常适合测量的系统类别。金融公司通常每天处理数百万或数十亿美元的交易,实际欺诈案件相对罕见。因此,欺诈检测系统需要尽可能多的欺诈交易,同时最大程度地减少错误警报的数量,并给客户带来不便。测量F1分数可以帮助金融机构确定其系统平衡欺诈预防的双支柱和良好的客户体验。
医学诊断
在医学诊断和测试中,FN和FP都有严重的后果。考虑一个旨在检测稀有癌症形式的模型的示例。错误地诊断健康的患者可能导致不必要的压力和治疗,而缺少实际的癌症病例将对患者产生可怕的后果。换句话说,该模型需要具有高精度和高召回率,这是F1分数可以测量的。
内容适中
在线论坛,社交媒体平台和在线市场中,调节内容是一个普遍的挑战。为了实现平台安全而无需过度审查,这些系统必须平衡精度和召回。 F1分数可以帮助平台确定其系统平衡的能力这两个因素。
F1分数的好处
除了通常比准确性提供更细微的模型性能视图外,F1分数在评估分类模型性能时还提供了几个关键优势。这些好处包括更快的模型培训和优化,降低培训成本以及提早捕捉过度。
更快的模型培训和优化
F1分数可以通过提供可用于指导优化的明确参考度量标准来帮助加快模型培训。 ML从业人员可以专注于提高F1分数,而不是分别调整召回和精度,这通常涉及复杂的权衡。通过这种简化的方法,可以快速识别最佳模型参数。
降低培训成本
F1分数可以帮助ML从业人员通过提供细微的,单一的模型性能度量来做出明智的决定。有了这些信息,从业人员可以避免不必要的培训周期,计算资源投资以及必须获取或创建其他培训数据。总体而言,这可能会导致培训分类模型时大幅降低成本。
早日捕捉过度
由于F1分数考虑到精度和召回率,因此可以帮助ML从业者确定何时在培训数据中过于专业。这个问题称为过度拟合,是分类模型的常见问题。 F1分数为从业者提供了预警,即在模型达到无法概括现实世界数据的地步之前,他们需要调整培训。
F1分数的局限性
尽管有很多好处,但F1得分仍具有从业人员应该考虑的几个重要局限性。这些局限性包括缺乏对真正的负面因素的敏感性,不适合某些数据集,并且难以解释多类问题。
对真正的负面影响缺乏敏感性
F1分数无法说明真正的负面因素,这意味着它不适合测量重要的应用。例如,考虑一个旨在识别安全驾驶条件的系统。在这种情况下,正确识别条件何时真正安全(真正的负面因素)与确定危险条件一样重要。由于它没有跟踪FN,因此F1分数无法准确捕获整体模型性能的这一方面。
不适合某些数据集
F1分数可能不适合FP和FN的影响显着不同的数据集。考虑癌症筛查模型的例子。在这种情况下,缺少积极案例(FN)可能会威胁生命,而错误地发现积极案例(FP)只会导致额外的测试。因此,使用可以加权来计算此费用的度量标准比F1分数更好。
难以解释多类问题
尽管Micro-F1和Macro-F1分数之类的变化意味着F1得分可用于评估多类别的分类系统,但解释这些汇总指标通常比二进制F1分数更为复杂。例如,Micro-F1得分可能会在分类较低的类别中掩盖表现不佳的表现,而Macro-F1得分可能会超重稀有类。鉴于此,企业需要考虑在选择合适的F1变体用于多类别分类模型时,对类别或实例级别的整体级别的均等处理更为重要。