混淆矩阵(Confusion Matrix)是用于评估分类模型性能的一种表格形式。它对模型的预测结果与实际标签之间的关系进行了可视化呈现。
混淆矩阵通常用于二分类问题,但也可以扩展到多类分类问题。在二分类问题中,混淆矩阵包含四个条目:
- True Positive (TP):模型正确地预测为正类的样本数。
- True Negative (TN):模型正确地预测为负类的样本数。
- False Positive (FP):模型错误地将负类预测为正类的样本数。
- False Negative (FN):模型错误地将正类预测为负类的样本数。
混淆矩阵的形式如下:
Predicted Positive Predicted Negative
Actual Positive TP FN
Actual Negative FP TN
基于混淆矩阵可以计算出一系列分类模型性能指标,包括准确率(Accuracy)、精确率(Precision)、召回率(Recall)和 F1 分数(F1-Score)等。这些指标能够提供关于模型在不同方面的性能表现的信息。
要计算这些指标,可以使用混淆矩阵中的值:
准确率(Accuracy):模型正确预测的样本数占总样本数的比例,计算公式为 (TP + TN) / (TP + TN + FP + FN)。
精确率(Precision):模型正确预测为正类的样本数占所有预测为正类的样本数的比例,计算公式为 TP / (TP + FP)。
召回率(Recall):模型正确预测为正类的样本数占所有真实正类样本数的比例,计算公式为 TP / (TP + FN)。
F1 分数(F1-Score):精确率和召回率的调和平均值,计算公式为 2 * (Precision * Recall) / (Precision + Recall)。
创建混淆矩阵
要创建混淆矩阵,首先需要有模型的预测结果和实际的标签。然后,按照以下步骤进行计算:
- 收集模型的预测结果和实际的标签。
- 创建一个二维矩阵,矩阵的行表示实际的类别,列表示模型的预测类别。矩阵的大小取决于分类问题的类别数量。
- 对于每个样本,将其预测类别放在对应的预测列,将其实际类别放在对应的实际行。
- 统计每个类别在混淆矩阵中的计数,可以得到 True Positive (TP)、True Negative (TN)、False Positive (FP) 和 False Negative (FN) 的值。
- 根据计算出的值,填充混淆矩阵的相应单元格。
以下是一个示例来说明如何计算混淆矩阵:
假设有一个二分类问题,类别为正类(1)和负类(0)。模型的预测结果和实际标签如下:
预测结果: [1, 0, 1, 1, 0, 1]
实际标签: [1, 0, 0, 1, 0, 1]
创建一个2X2的混淆矩阵,并填充对应的计数:
预测为正类 预测为负类
实际为正类 2 1
实际为负类 1 2
从混淆矩阵中可以计算出准确率、精确率、召回率和 F1 分数等分类性能指标。