了解 ROC 曲线和 AUC 如何评估 AI/ML 中的分类器性能,从而优化 TPR 与 FPR,以用于欺诈检测和医疗诊断等任务。
接收者工作特征曲线 (ROC) 是一种图形表示法,用于评估二元分类模型的性能。 二元分类模型的性能。它直观地显示了真阳性率(TPR)和假阳性率(FPR 率 (FPR) 之间的权衡。在 在机器学习(ML)中,这条曲线是 在机器学习(ML)中,这条曲线是评估模型区分两个类别(如 "垃圾邮件 "与 "非垃圾邮件 "或 "疾病")的基本方法。 "非垃圾邮件 "或 "患病 "与 "健康"。通过绘制这些比率,ROC 曲线 曲线提供了一个模型诊断能力的综合视图,超越了像准确率这样的单一数字指标。 准确率等单一数字指标,因为单独使用这些指标可能会产生误导。
要正确理解 ROC 曲线,就必须了解绘制在其坐标轴上的两个指标:
该曲线是通过将分类器的置信度阈值从 分类器的置信度阈值从 0 到 1。ROC 曲线上的每个 ROC 曲线上的每一点都代表与特定判定阈值相对应的灵敏度/特异度对。A 从左下角到右上角的对角线代表没有预测能力的随机分类器(抛硬币 掷硬币),而向左上角陡然弯曲的曲线则表示一个高性能模型。
各行各业都广泛使用 ROC 曲线来优化决策阈值,以便 模型部署的决策阈值。
要绘制 ROC 曲线,您需要正类的预测概率,而不仅仅是最终的类
标签。下面的示例演示了如何使用
YOLO11 的分类模型
ultralytics 包装
from ultralytics import YOLO
# Load a pretrained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Run inference on an image to get prediction results
results = model("path/to/image.jpg")
# Access the probability distribution for all classes
# These scores are necessary inputs for calculating ROC and AUC
probs = results[0].probs.data
print(f"Class probabilities: {probs}")
一旦获得测试数据集的这些概率,像 等库 等库来计算绘制曲线所需的 FPR 和 TPR 值。
虽然 ROC 曲线是一个强大的工具,但将其与相关的评估概念区分开来还是很有帮助的:
对于涉及物体检测的任务,诸如 平均精度 (mAP)等指标。 尽管 ROC 曲线与这些模型的底层分类组件仍然相关。 了解这些区别可确保开发人员选择正确的指标来应对其特定的 计算机视觉 (CV)挑战。