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

受试者工作特征 (ROC) 曲线

了解如何使用接收者操作特征 (ROC) 曲线评估二元分类器。探索 Ultralytics YOLO26 中的 TPR 与 FPR 权衡。

接收者操作特征 (ROC) 曲线是用于评估二元分类模型性能的基本图形工具。在机器学习 (ML) 领域,它可视化了模型在所有可能的决策阈值下,灵敏度与特异性之间的权衡。与准确率等单一值指标不同,如果数据集不平衡,这些指标可能会产生误导,而 ROC 曲线则提供了分类器行为的全面视图,因为识别正例的标准变得或松或严。这种可视化对于利用监督学习技术的工程师来说至关重要,以便为其特定用例确定最佳操作点。

理解轴和权衡

要理解ROC曲线,需要查看相互绘制的两个参数:真阳性率(TPR)和假阳性率(FPR)。

  • 真阳性率(TPR):通常被称为召回率或灵敏度,这个在y轴上的指标衡量了模型正确识别的实际正例的比例。高TPR意味着系统很少漏掉目标。
  • 假阳性率 (FPR):绘制在 x 轴上,这表示被错误地归类为正例的负例的比例,也称为“误报”。

该曲线展示了一种动态关系:当您降低 置信度 阈值以捕获更多正例(增加 TPR)时,您必然会增加错误标记负例的风险(增加 FPR)。一个完美的分类器将达到图表的左上角,表示 100% 的灵敏度和 0% 的误报。一个进行随机猜测的模型将表现为从左下到右上的对角线。整体性能通常由 曲线下面积 (AUC) 总结,其中 1.0 的值代表完美。

实际应用

在 ROC 曲线中设置阈值的决定完全取决于特定行业应用中的错误成本。

  1. 医学诊断:医疗AI中,特别是在医学图像分析中进行肿瘤detect等任务时,漏诊阳性病例(假阴性)的代价可能是危及生命的。因此,实践者通常选择一个能最大化真阳性率(TPR)的阈值,即使这会导致更高的假阳性率(FPR),意味着更多健康患者可能最初被标记需要进一步检查。
  2. 金融欺诈检测:当金融AI用于监控信用卡交易时,银行必须在安全性与客户体验之间取得平衡。如果系统过于敏感(高TPR),它可能会阻止合法卡(高FPR),从而令用户沮丧。分析师使用ROC曲线来找到一个平衡的阈值,该阈值既能捕获大多数欺诈,又能将误报保持在可接受的最低限度。

生成用于ROC分析的概率

要绘制ROC曲线,你需要原始预测概率,而不仅仅是最终的类别标签。以下示例使用最先进的YOLO26模型来生成分类分数。

from ultralytics import YOLO

# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Run inference to get probability distribution
results = model("bus.jpg")

# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")

收集到验证集的这些概率后,开发人员可以使用 Scikit-learn 等库来计算曲线点。为了管理数据集和跟踪这些指标随时间的变化,Ultralytics Platform 提供了用于模型评估和部署的集成工具。

ROC 与相关概念

区分 ROC 曲线与其他评估工具至关重要:

  • 与精确率-召回率(PR)曲线对比:ROC曲线绘制的是真阳性率(TPR)与假阳性率(FPR)的关系,而精确率-召回率曲线绘制的是精确率与召回率的关系。当数据集严重不平衡时(例如,检测罕见异常),通常更倾向于使用PR曲线,因为在这种情况下,ROC曲线有时会呈现出过于乐观的评估结果。
  • 与混淆矩阵对比:一个混淆矩阵提供了在单一特定阈值下的性能快照。相比之下,ROC曲线可视化了所有可能阈值下的性能,使其成为在最终决策规则确定之前进行预测建模分析的更广泛工具。

让我们一起共建AI的未来!

开启您的机器学习未来之旅