通过混淆矩阵了解模型性能。探索各项指标、实际应用以及优化 AI 分类准确性的工具。
混淆矩阵是机器学习(ML)中使用的一种综合性能测量工具。 混淆矩阵是机器学习(ML)中用来评估分类模型准确性的一种综合性能测量工具。 分类模型的准确性。与简单的准确率得分不同、 只告诉你正确预测的百分比不同,混淆矩阵提供了一个细化的 模型如何对每个类别进行分类。它直观地显示了预测标签与实际地面实况之间的差异。 真实情况之间的差异,让开发人员能够准确定位模型 "混乱 "或系统性错误的位置。这种 这种详细程度对于完善复杂的 计算机视觉 (CV)系统至关重要,例如那些 构建的 Ultralytics YOLO11.
混淆矩阵将分类器的预测结果分成四个不同的类别,通常采用网格布局。 网格布局。这些成分有助于识别一个模型是否存在特定类型的错误,例如 "误报 "或 "错过目标":
虽然宽泛的指标对高层次的概览很有用,但在处理 不平衡数据集时至关重要。如果一个数据集包含 95 只猫和 5 只狗,那么一个每次都简单地猜测 "猫 "的模型可以达到 95% 的准确率,但在寻找狗时却毫无用处。 准确率,但在寻找狗时却毫无用处。混淆矩阵会立即显示出这一失败,因为 "狗 "的真阳性为零。 狗 "类的真阳性。
这一细目是计算其他关键绩效指标的基础。 绩效指标的基础。通过分析矩阵 工程师可以得出
混淆矩阵的重要性因具体应用和不同错误的 "成本 "而异。 不同错误的 "代价"。
"(《世界人权宣言》) ultralytics 库会在验证过程中自动计算并保存混淆矩阵。
混淆矩阵。这样,用户就能直观地看到数据集中所有类别的性能。
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Validate the model on a dataset like COCO8
# This generates the confusion matrix in the 'runs/detect/val' directory
results = model.val(data="coco8.yaml")
# You can also programmatically access the matrix data
print(results.confusion_matrix.matrix)
必须将混淆矩阵与衍生指标区分开来。准确率 精确度和召回率都是单个数字的总结,而 混淆矩阵是计算这些数字的原始数据来源。它提供的是 "全貌",而不是一个快照。此外,在 对象检测中,矩阵经常与 交集大于联合(IoU 阈值进行交互,以确定什么是真阳性,从而为计算机视觉任务中的评估增加了另一层深度。 计算机视觉任务。

