免费混淆矩阵计算器

输入 TP、FP、FN 和 TN 值以查看分类指标。

理解混淆矩阵及其在分类指标中的作用

评估分类模型的性能需要可靠的度量,而混淆矩阵为最基本的分类指标提供了基础。这个混淆矩阵计算器帮助你快速计算这些指标,让你专注于解释你的机器学习模型的行为。无论你是微调二分类器还是比较不同算法,理解混淆矩阵对于做出关于模型改进的明智决策至关重要。

混淆矩阵记录什么

混淆矩阵是一个 2×2 表格,汇总了二分类器对实际标签的预测。它记录了四个基本计数:

  • True Positive (TP) – 被正确预测为正类的实例。
  • False Negative (FN) – 被错误预测为负类的正类实例(第二类错误)。
  • False Positive (FP) – 被错误预测为正类的负类实例(第一类错误)。
  • True Negative (TN) – 被正确预测为负类的实例。

这四个计数是一系列性能指标的基础模块,超越了简单准确率,让你对模型优势和劣势有更细致的了解。

从混淆矩阵导出的关键性能指标

使用 TP、FN、FP 和 TN,你可以计算许多揭示分类器质量不同方面的指标。下面是最常用的指标。

准确率、精确率和召回率

  • 准确率度量所有预测中正确的比例:
Accuracy=TP+TNTP+FN+FP+TN\text{Accuracy} = \frac{TP + TN}{TP + FN + FP + TN}
  • 精确率(也称阳性预测值)告诉你正预测中有多少实际正确:
Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}
  • 召回率(灵敏度或真正例率)指示模型成功捕获了多少实际正实例:
Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}

F1 分数 – 平衡精确率和召回率

F1 分数是精确率和召回率的调和平均数,会惩罚极端值,并提供在两者之间取得平衡的单一指标:

F1=2×Precision×RecallPrecision+RecallF_1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}

比率和误差度量

几个基于比率的指标帮助你了解模型对特定错误的倾向:

  • 真正例率 (TPR) = 召回率 = TPTP+FN\dfrac{TP}{TP + FN}
  • 假负例率 (FNR) = FNTP+FN\dfrac{FN}{TP + FN}(第二类错误的概率)
  • 假正例率 (FPR) = FPFP+TN\dfrac{FP}{FP + TN}(第一类错误的概率)
  • 真负例率 (TNR) = 特异度 = TNTN+FP\dfrac{TN}{TN + FP}
  • 错误发现率 (FDR) = FPTP+FP\dfrac{FP}{TP + FP}(正预测中为假的比例)

马修斯相关系数 (MCC)

MCC,也称为 phi 系数,捕获观察到的和预测的二分类之间的相关性。它对类别不平衡具有鲁棒性,取值范围从 –1 到 +1:

MCC=TP×TN−FP×FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)\text{MCC} = \frac{TP \times TN - FP \times FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}

计算示例:从示例数据计算指标

为了说明这些公式如何在实践中应用,考虑一个在测试集上产生以下计数的二分类器:

  • 真正例:80
  • 假负例:70
  • 假正例:20
  • 真负例:30

将这些数字代入公式得到:

  • 准确率:80+3080+70+20+30=110200=0.55\dfrac{80+30}{80+70+20+30} = \dfrac{110}{200} = 0.55 (55%)
  • 精确率:8080+20=80100=0.80\dfrac{80}{80+20} = \dfrac{80}{100} = 0.80 (80%)
  • 召回率:8080+70=80150≈0.533\dfrac{80}{80+70} = \dfrac{80}{150} \approx 0.533 (53.3%)
  • F1 分数:2×0.80×0.5330.80+0.533≈0.642 \times \dfrac{0.80 \times 0.533}{0.80 + 0.533} \approx 0.64
  • TPR(同召回率):≈ 0.533
  • FNR:7080+70≈0.467\dfrac{70}{80+70} \approx 0.467
  • FPR:2020+30=0.40\dfrac{20}{20+30} = 0.40 (40%)
  • TNR:3030+20=0.60\dfrac{30}{30+20} = 0.60 (60%)
  • FDR:2080+20=0.20\dfrac{20}{80+20} = 0.20 (20%)
  • MCC:
80×30−20×70(80+20)(80+70)(30+20)(30+70)=2400−1400100×150×50×100≈0.1155\frac{80 \times 30 - 20 \times 70}{\sqrt{(80+20)(80+70)(30+20)(30+70)}} = \frac{2400 - 1400}{\sqrt{100 \times 150 \times 50 \times 100}} \approx 0.1155

这个例子表明,即使模型具有高精确率(80%),也可能召回率较低(53%)且整体准确率一般。混淆矩阵计算器简化了这些计算,让你无需手动计算即可立即获得所有指标。

混淆矩阵计算器的价值

从混淆矩阵手动计算每个指标既繁琐又容易出错,尤其是在比较多个模型时。这款用于分类指标的混淆矩阵计算器接收你的 TP、FN、FP 和 TN 值,并在几秒内返回一套完整的度量——准确率、精确率、召回率、F1 分数、TPR、FNR、FPR、TNR、FDR 和 MCC。无论你是需要一个快速的精确率召回率计算器来微调阈值,还是希望全面了解机器学习模型的性能,这个工具都能简化评估过程,让你专注于改进分类器。

常见问题

1. 如何使用混淆矩阵计算精确率和召回率?

精确率是真阳性与所有正预测的比值:精确率 = TP / (TP + FP)。召回率是真阳性与所有实际正类的比值:召回率 = TP / (TP + FN)。这两个值直接来自混淆矩阵的四个计数(TP、FN、FP、TN)。

2. 在分类中准确率和精确率有什么区别?

准确率度量所有预测中正确预测(包括正和负)的整体比例:准确率 = (TP + TN) / (TP + FN + FP + TN)。精确率只考虑正预测,并计算其中有多少实际正确:精确率 = TP / (TP + FP)。如果模型遗漏了许多正例,则可能具有高精确率但低准确率。

3. F1 分数如何计算?为什么它有用?

F1 分数是精确率和召回率的调和平均数:F1 = 2 × (精确率 × 召回率) / (精确率 + 召回率)。它之所以有用,是因为它平衡了精确率和召回率之间的权衡,惩罚极端值,并在假正例和假负例都重要时提供单一指标来比较模型。

4. 马修斯相关系数 (MCC) 告诉我关于模型的什么信息?

MCC(也称为 phi 系数)度量观察到的和预测的二分类之间的相关性。其取值范围从 –1(完全不一致)到 +1(完全一致),0 表示不优于随机。与准确率或 F1 不同,MCC 对类别不平衡稳健,因为它使用了所有四个混淆矩阵计数。

5. 我可以将这个混淆矩阵计算器用于多分类问题吗?

本计算器专注于二分类(两个类别)。对于多类问题,你通常需要为每个类别创建一个单独的混淆矩阵(一对多),或使用指标的宏平均/微平均。精确率、召回率和 F1 的基本公式可以扩展,但工具输入假设为 2×2 矩阵。

使用方法

  1. 输入真阳性 (TP)、假阳性 (FP)、假阴性 (FN) 和真阴性 (TN) 的计数。
  2. 查看 2x2 混淆矩阵可视化及所有派生分类指标。
  3. 根据需要切换百分比显示,或重置以开始新计算。