深圳Yolo 视觉
深圳
立即加入
词汇表

F1-Score

了解F1分数如何平衡精确率与召回率来评估机器学习模型。探索如何优化Ultralytics 性能以提升准确度。

F1分数是机器学习中一项关键的性能指标,它将精确度和召回率融合为单一的调和平均值。该指标在评估分类模型时尤为有效,尤其适用于数据集失衡或假阳性与假阴性具有不同成本的情境。 与单纯准确率不同——当某类数据占主导时准确率可能产生误导——F1分数能更均衡地反映模型在正确识别相关实例的同时最小化错误的能力。通过惩罚极端值,该指标确保只有当精确率和召回率均达到合理水平时才能获得高分,使其成为从医学诊断到信息检索等众多领域的核心评估标准。

F1分数在机器学习中为何重要

在许多现实场景中,仅了解正确预测的比例(准确率)是不够的。例如在异常检测中,正常案例远多于异常案例。一个对每个输入都预测"正常"的模型可能达到99%的准确率,但对检测实际问题毫无用处。F1分数通过平衡两个相互竞争的指标来解决这个问题:

  • 精确率:衡量正样本预测的质量。它回答的问题是:"模型标记为正样本的所有实例中,有多少是真正的正样本?"
  • 召回率:该指标衡量正类预测的数量。其回答的是:"在所有真实正类实例中,模型正确识别了多少个?"

由于通常存在权衡关系——提高精确率往往会降低召回率,反之亦然——F1分数作为统一指标,用于寻找最佳平衡点。在使用超参数优化调整模型时,这点至关重要,可确保模型在各种条件下都能保持稳健性能。

实际应用

F1分数的实用性广泛适用于各类行业,尤其在错误代价高昂的领域。

  • 医疗诊断:在 医疗健康领域的人工智能应用中,尤其针对肿瘤检测等任务,假阴性(漏诊肿瘤)会危及生命,而假阳性(误判良性组织)则会引发不必要的焦虑。F1评分有助于研究人员优化YOLO26等模型,确保系统具备足够的敏感性以捕捉疾病,同时避免因虚假警报淹没医生。
  • 信息检索与搜索:搜索引擎和文档分类系统采用F1分数评估相关性。用户既希望看到所有相关文档(高召回率),又不想在无关结果中耗费精力(高精确度)。高F1分数表明引擎能有效检索正确信息,避免冗余干扰。
  • 垃圾邮件过滤:电子邮件服务利用 文本分类技术来筛选垃圾邮件。系统必须 拦截垃圾邮件(召回率),但关键在于不能将重要工作邮件误判为垃圾邮件(精确率)。F1分数 是评估此类过滤器效果的核心指标。

使用Ultralytics计算F1分数

现代计算机视觉框架简化了这些指标的计算过程。在训练目标检测模型时,F1-Score会在验证阶段自动计算。Ultralytics 通过实时图表可视化这些指标,使用户能够观察F1-Score在不同置信阈值下的变化曲线。

以下是通过Python 访问验证指标(包括 F1 分数组成部分)的方法:

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")

# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")

# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")

F1分数与相关指标

理解F1分数与其他评估标准的差异,对于为项目选择合适的工具至关重要。

  • 与准确率的区别 准确率对所有错误一视同仁。F1分数在不平衡数据集上表现更优, 因为它专注于阳性类(即关注的少数类)的性能表现。
  • mAP的关系 均值平均精度(mAP)是 比较所有置信度阈值下目标检测模型的标准。然而,F1分数常用于 确定部署时的最佳置信度阈值。您可选择F1曲线达到峰值的阈值 来部署应用程序。
  • 混淆矩阵 混淆矩阵提供原始计数(真阳性、假阳性等),F1分数由此衍生。虽然矩阵呈现细致数据,但F1分数提供单一汇总统计量,便于快速比较。
  • ROC-AUC曲线下面积(AUC)衡量 所有阈值下的可分离性。当类别分布高度偏斜时(例如欺诈检测中欺诈行为罕见), 通常更推荐使用F1分数而非ROC-AUC。

提升您的F1分数

若模型F1分数偏低,可采取以下策略: 数据增强能增加正样本的多样性, 从而提升模型的泛化能力。 运用鲁棒基础模型的迁移学习, 可使网络利用预训练特征。 此外,在推理过程中调整置信阈值, 可手动调节精确率与召回率的平衡, 以最大化特定应用场景下的F1分数。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入