当前位置: 首页 > web >正文

混淆矩阵(Confusion Matrix)横坐标

横坐标和纵坐标,哪一个是真实的,哪一个被预测的呢?

在混淆矩阵(Confusion Matrix)中,横坐标(列)通常表示模型的预测结果(Predicted),而纵坐标(行)表示真实的标签(Actual/Ground Truth)。这是机器学习中的标准表示方式(但需注意个别文献或工具可能相反,需结合上下文确认)。


针对您提供的混淆矩阵的分析

1. 非归一化矩阵(confusion_matrix.png)
  • 结构问题:您的表格未明确标注行列含义,但通过内容可推测:

    • 左侧列(如 bottle - | 29)可能是真实标签(Actual)。

    • 右侧数值可能是模型预测为该类的次数(Predicted)。

    • 例如:真实标签为 bottle 的样本中,模型正确预测了 29 次,但也可能被误预测为其他类别(如 background)。

2. 归一化矩阵(confusion_matrix_normalized.png)
  • 数值范围(0~1):表示预测的准确率或比例。

    • 例如 bottle - 0.97 表示真实为 bottle 的样本中,97% 被模型正确预测。

    • 低值(如 clock - 0.02)表示模型对该类别的识别能力较差。


如何验证行列含义?

  1. 对角线元素

    • 混淆矩阵的对角线(从左上到右下)通常表示 正确预测(TP)。

    • bottle 的真实标签对应预测值 0.97(高值),则进一步支持纵轴是 Actual。

  2. 非对角线元素

    • 其他位置的数值表示 误分类(如真实为 bottle 但预测为 background)。


标准混淆矩阵示例

Predicted: APredicted: B
Actual: ATP (A→A)FP (A→B)
Actual: BFN (B→A)TN (B→B)
  • 在您的数据中,bottle - 0.97 类似 A→A(TP),而 bottle - 0.03 类似 A→其他类(FP)。


总结

  • 纵轴(行) = 真实标签(Actual)

  • 横轴(列) = 预测结果(Predicted)

建议:若数据来自 Ultralytics YOLO,可通过其文档或可视化工具(如 val.py 生成的矩阵)确认行列标注。

是机器学习中的标准表示方式(但需注意个别文献或工具可能相反,需结合上下文确认)。相反的话,有影响吗?不都是一样的效果图吗?

在机器学习中,混淆矩阵(Confusion Matrix)的 行列方向定义 确实存在不同惯例,虽然数学本质相同,但方向相反会导致解读完全颠倒,可能引发严重误解。以下是关键分析:


1. 两种常见惯例对比

惯例纵轴(行)横轴(列)对角线含义示例场景
Scikit-learn 惯例真实标签(Actual)预测值(Predicted)正确分类(TP/TN)大多数Python库
其他工具惯例预测值(Predicted)真实标签(Actual)正确分类(TP/TN)部分学术论文或工具
关键区别
  • 若混淆矩阵方向相反,TP(真正例)和 FP(假正例)的位置会互换,导致性能指标(如精确率、召回率)的计算逻辑完全错误。

  • 示例

    • 若真实为猫,预测为狗:

      • Scikit-learn 惯例 → 记录在 (猫, 狗) 位置(FN)。

      • 反向惯例 → 记录在 (狗, 猫) 位置(FP)。


2. 对效果图的影响

虽然矩阵的“形状”看似相同,但行列标签的颠倒会彻底改变语义

  • 正确理解

    python

from sklearn.metrics import confusion_matrix
y_true = [1, 0, 1]  # 真实标签
y_pred = [1, 1, 0]  # 预测标签
print(confusion_matrix(y_true, y_pred))

输出:

  • [[0 1]  # 真实0被预测为0(0次),预测为1(1次)[1 1]] # 真实1被预测为0(1次),预测为1(1次)
    • 第一行对应真实标签 0,第一列对应预测标签 0

  • 错误理解:若误认为横轴是真实标签,会错误计算:

    • 召回率(Recall)= 对角线/行和 → 变成计算 “预测正确的比例”,与定义不符。


3. 实际影响案例

  • 精确率(Precision) = TP / (TP + FP):

    • 若混淆矩阵方向错误,FP 可能被误统计为 FN,导致公式失效。

  • 模型调参

    • 调整阈值时,若误读混淆矩阵,可能优化错误指标(如将召回率优化目标误当作精确率)。


4. 如何避免混淆?

  1. 检查文档

    • Scikit-learn、TensorFlow、PyTorch 默认使用 纵轴=真实标签

    • 部分工具(如某些MATLAB函数)可能相反。

  2. 验证对角线

    • 对角线高值应表示 真实和预测一致,否则方向可能反了。

  3. 可视化工具

    • Ultralytics YOLO 的验证脚本(val.py)生成的矩阵默认符合 Scikit-learn 惯例。


5. 总结

  • 不是“一样的效果图”:行列方向是语义核心,错误解读会导致指标计算和问题诊断完全错误。

  • 务必确认工具惯例:在论文或报告中需明确说明混淆矩阵的定义方向。

建议:在您的数据中,若 bottle - 0.97 位于对角线且高,则纵轴极可能是真实标签(Scikit-learn 惯例)。

http://www.xdnf.cn/news/3096.html

相关文章:

  • 瑞幸咖啡披露2025年Q1财报:门店净增1757家,营业利润率达8.3%
  • 【网络编程】socket编程和TCP协议
  • 数据安全第一步:常用Linux备份与压缩命令保驾护航
  • IP地址、子网掩码与默认网关详解
  • MySQL基础关键_001_认识
  • 高德地图线上截图瓦片地图加载不完全
  • 数据中心电能质量问题解决方案及经典案例
  • 人工智能在医疗行业的应用和发展前景
  • 首版次误区有哪些?与软件测试报告又有什么联系?
  • C++中一些关于何时何处定义类或函数的问题
  • MyBatis、MyBatis-Plus、Hibernate、Spring Data JPA 等 Java 持久层技术的理解和对比
  • C++每日训练 Day 18:构建响应式表单与数据验证(初学者友好)
  • 局域网视频会议软件BeeWorks Meet
  • PocketFlow一个最小的Agent框架
  • ant design pro 项目发布遇到登录页访问404
  • SVMSPro平台获取HTTP-FLV规则
  • 折叠机处理流程
  • 策略梯度(policy gradient)直观理解
  • 文献分享:2023年美国FDA批准的治疗性抗体结构和功能
  • (01)Redis 的订阅发布Pub/Sub
  • 探索语音增强中的多尺度时间频率卷积网络(TFCM):代码解析与概念介绍
  • 【运维心得】银行运维交接的坑
  • 制作一款打飞机游戏33:碰撞体编辑
  • ollama运行qwen3
  • 【Leetcode 每日一题】2962. 统计最大元素出现至少 K 次的子数组
  • 如何对多维样本进行KS检验
  • UNIAPP项目记录
  • 【大厂实战】API网关进化史:从统一入口到智能AB分流,如何构建灰度无感知系统?
  • 【工具变量】上市公司30w+过度负债数据集(2004-2023年)
  • 【嘉立创EDA】如何无限制挖槽,快捷设计挖槽