混淆矩阵是评估分类模型性能的工具,通过sklearn的confusion_matrix()函数比较真实与预测标签。对于二分类,它输出包含TP、FP、TN、FN的2×2矩阵;多分类则生成NxN矩阵,行表示真实类别,列表示预测类别,直观展示模型分类效果。

在python中,confusion_matrix() 是一个用于评估分类模型性能的函数,来自 scikit-learn 库(即 sklearn)。它通过比较真实标签和预测标签,生成一个矩阵,帮助我们直观地看出模型的分类效果。
什么是混淆矩阵?
混淆矩阵(Confusion Matrix)是一个表格,用来描述分类模型在测试数据上的表现。对于二分类问题,它包含四个关键结果:
- TP(True Positive):实际为正类,预测也为正类
- FP(False Positive):实际为负类,预测为正类
- TN(True Negative):实际为负类,预测也为负类
- FN(False Negative):实际为正类,预测为负类
如何使用 confusion_matrix()?
你可以通过以下方式调用这个函数:
from sklearn.metrics import confusion_matrix
示例数据
y_true = [1, 0, 1, 1, 0, 1] # 真实标签 y_pred = [1, 0, 0, 1, 0, 1] # 模型预测标签
生成混淆矩阵
cm = confusion_matrix(y_true, y_pred) print(cm)
输出结果是一个二维数组:
立即学习“Python免费学习笔记(深入)”;
[[2 0] [1 3]]
其中:
- cm[0][0]:TN(真实0,预测0)
- cm[0][1]:FP(真实0,预测1)
- cm[1][0]:FN(真实1,预测0)
- cm[1][1]:TP(真实1,预测1)
多分类情况下的使用
confusion_matrix() 同样适用于多分类任务。例如有三个类别(0, 1, 2),输出将是一个 3×3 的矩阵,每一行代表真实类别,每一列代表预测类别。
基本上就这些。这个函数不复杂但非常实用,是分析分类模型错误类型的基础工具。


