多分类混淆矩阵TPTNFN

博客探讨了多分类混淆矩阵的正确构建方法,指出了一种常见错误的理解,即每个类别独立计算准确率。文中通过示例解释了混淆矩阵相对于某一特定类别的正确表示,并讨论了其对评估分类模型性能的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本来是想找一下多分类的混淆矩阵说明
但是发现网上的都是二分类,下面这种
图转自博主
二分类的图转自博主,下面放上链接
https://blog.youkuaiyun.com/wf592523813/article/details/95202448
用自己的理解画了个多分类的混淆矩阵的表不知道对不对
和大家分享一下
在这里插入图片描述
后来问了一下明白人,发现我这个不对TN不是这样归类的
因为如果按我这个来的话每一类分别算的准确率Acc都是一样的
应该是这样,为了简单举例
下面这个图是相对于B类而言的在这里插入图片描述

### 多分类混淆矩阵的定义 在机器学习中,多分类混淆矩阵是一个 n×n 的表格,其中 n 表示类别的总数。每一行代表真实标签的实际分布,而每一列则表示预测标签的结果分布[^3]。具体来说: - **第 i 行 j 列** 的值表示被错误地预测为类别 j 的实际属于类别 i 的样本数。 - 对角线上的元素 \( C_{ii} \) 表示正确预测为类别 i 的样本数。 通过这个矩阵,我们可以评估模型的表现,尤其是识别不同类别时的能力。 ### 多分类混淆矩阵的计算方法 假设有一个三分类问题,其真实的类别标签集合为 {0, 1, 2},对应的混淆矩阵可以写成如下形式: \[ C = \begin{bmatrix} C_{00} & C_{01} & C_{02}\\ C_{10} & C_{11} & C_{12}\\ C_{20} & C_{21} & C_{22} \end{bmatrix} \] #### 步骤说明 为了构建上述混淆矩阵,我们需要遍历测试集中的每个样本,并记录以下信息: - 如果某个样本的真实标签是类别 i 并且被预测为类别 j,则增加 \( C_{ij} \) 的计数值。 最终得到的矩阵可以帮助我们进一步计算各种性能指标,比如精确率(Precision)、召回率(Recall)和 F1 分数等[^4]。 当需要针对某特定类别 k 来计算 Precision 和 Recall 时,可以通过将该类别视为唯一的正例,其余所有类别合并作为负例的方式来进行处理[^1]。此时,原始的 n×n 混淆矩阵会被简化为一个 2×2 的二分类混淆矩阵。 以下是 Python 中创建并显示混淆矩阵的一个简单例子: ```python from sklearn.metrics import confusion_matrix import numpy as np # Example true and predicted labels for a multi-class problem with three classes. y_true = [2, 0, 2, 2, 0, 1] y_pred = [0, 0, 2, 2, 0, 2] cm = confusion_matrix(y_true, y_pred) print("Confusion Matrix:") print(cm) ``` 此代码片段利用 `sklearn` 库生成了一个基于给定真值列表 (`y_true`) 及预测值列表 (`y_pred`) 的混淆矩阵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值