什么是 混淆矩阵(Confusion Matrix)?
混淆矩阵(Confusion Matrix)是按真实类别与预测类别组织的交叉表,每个评测样本只进入一个单元格,从而显示分类器正确识别了哪些类别,又把哪些类别相互混淆。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
先看原始计数,再看归一化视图
原始计数能够显示样本支持度与真实运营工作量。按行归一化回答每个真实类别被预测到哪里,适合分析召回;按列归一化回答每个预测类别实际由什么组成,适合分析精确率;全局归一化展示总体占比。当前 scikit-learn API支持三种方式,但归一化结果不能替代原始分母。
把矩阵绑定到阈值和标签契约
输出连续分数的分类器,在每个决策阈值上都会产生不同矩阵。降低正类阈值通常会让样本从预测负类列移动到预测正类列,同时改变收益与两类错误。多分类任务应检查完整 K x K 矩阵和逐类 One-vs-rest 视图;对角线汇总可能掩盖两个高代价类别之间的系统性混淆。
审计真实标签背后的证据
矩阵把输入标签当作真值,但标签可能延迟、选择性可见、不一致,甚至被预测触发的干预改变。应按稳定样本 ID 关联预测与标签,保留拒答和无效输出,固定结果成熟窗口,并按部署切片报告不确定性。Fawcett 的 ROC 分析说明了二分类表如何构成阈值指标与 ROC 操作点。
主要特点
- 按真实类别与预测类别交叉统计样本
- 分别保留每种正确与错误类别组合的计数
- 会随分数阈值、拒答规则或标签映射变化
- 支持原始计数、按行、按列和全局归一化视图
- 可从二分类 2 x 2 表扩展到多分类 K x K 表
- 必须声明行列方向、标签顺序、样本支持度和评测人群
常见用途
- 查明客服路由模型容易混淆哪些意图
- 区分欺诈或安全检测中的误报与漏报
- 在相同操作阈值下比较两个模型版本
- 审计类别不均衡的多分类模型逐类行为
- 按语言、设备、地区或其他部署切片检查错误
示例
Loading code...常见问题
混淆矩阵应该怎么看?
先确认哪条轴是真实类别、哪条轴是预测类别,再确认标签顺序与正类。在二分类矩阵中,应先检查 TP、FP、TN、FN 原始计数,再计算比率。只有结合页面标注才能判断对角线含义,不能仅凭单元格位置猜测方向。
混淆矩阵应该展示数量还是百分比?
应先发布原始数量以保留支持度与工作量,再按问题补充清楚标注的归一化视图。行百分比适合召回分析,列百分比适合精确率分析,全表百分比说明总体占比;任何一种视图都不能替代其他分母。
为什么改变分类阈值会改变混淆矩阵?
阈值把连续分数转换为类别。移动阈值后,一部分样本会在预测正类与预测负类之间移动,因此四个单元格都会变化。每份矩阵都应记录模型、分数定义、阈值、正类和拒答策略。
多分类混淆矩阵如何解释?
行和列应使用同一份已声明的类别顺序,每个非对角单元格表示一种真实类别到预测类别的错误。应结合原始支持度、按行召回、按列精确率和高代价类别对分析,不能只看对角线总和。
混淆矩阵能证明分类器适合上线吗?
不能。它只描述某套协议下已有标签的样本。上线证据还应包含代表性切分、不确定性、必要的校准或排序检查、延迟、拒答、无效输出、关键切片、延迟标签处理,以及所选操作点带来的业务后果。