混淆矩阵计算器 - 分类指标

用准确率、精确率、召回率、F1 和 MCC 分析分类表现

输入混淆矩阵数值,即可计算准确率、精确率、召回率、特异度、F1 分数等二分类分析中的性能指标。

混淆矩阵计算器 - 分类指标
用准确率、精确率、召回率、F1 和 MCC 分析分类表现

关于混淆矩阵计算器

混淆矩阵是一个 2×2 表,通过统计四种结果的数量来概括二分类模型的表现:真正例 (TP)、假正例 (FP)、真负例 (TN) 和假负例 (FN)。基于这四个数字,可以推导出一组丰富的性能指标,每个指标都从不同角度衡量分类器的行为。 真正例 (TP) 指模型正确预测为正类的情况。假正例 (FP) 指模型预测为正,但真实标签为负——也称为第一类错误。真负例 (TN) 指正确的负类预测。假负例 (FN) 指模型漏掉了正类——也称为第二类错误。 由混淆矩阵可得出的关键指标包括: • 准确率 = (TP + TN) / 总数 —— 所有预测中正确的比例。直观易懂,但在类别不平衡的数据集上可能会产生误导。 • 精确率(阳性预测值)= TP / (TP + FP) —— 在所有被预测为正的样本中,真正为正的比例。精确率高意味着误报少。 • 召回率(敏感度、真正率)= TP / (TP + FN) —— 在所有真实正样本中,被成功识别的比例。召回率高意味着漏报少。 • 特异度(真负率)= TN / (TN + FP) —— 在所有真实负样本中,被正确识别的比例。在医学筛查中尤为重要。 • F1 分数 = 2 × (精确率 × 召回率) / (精确率 + 召回率) —— 精确率与召回率的调和平均,用于平衡这两个指标。类别不平衡时很有用。 • 马修斯相关系数 (MCC) = (TP×TN − FP×FN) / √((TP+FP)(TP+FN)(TN+FP)(TN+FN)) —— 一个平衡性很强的指标,综合考虑混淆矩阵的四个单元格。取值范围从 −1(完全不一致)到 +1(完全一致),0 表示随机水平。 选择哪个指标取决于你的问题。对于欺诈检测,召回率至关重要(绝不能漏掉欺诈)。对于垃圾邮件过滤,精确率更重要(不要拦截正常邮件)。对于罕见疾病筛查,召回率和特异度都很关键。当类别不平衡时,MCC 和 F1 分数通常比单看准确率更有参考价值。

示例

下表展示了混淆矩阵输入及其对应的性能指标。

TP、FP、TN、FN关键指标模型类型
TP=92, FP=8, TN=88, FN=12准确率=90%, F1=0.9020, MCC=0.801平衡性良好、性能高的模型
TP=45, FP=5, TN=95, FN=25准确率=82.35%, 精确率=90%, 召回率=64.29%高精确率、保守型预测
TP=85, FP=30, TN=70, FN=10准确率=79.5%, 召回率=89.5%, 特异度=70%高召回率、敏感型模型
TP=48, FP=12, TN=188, FN=2准确率=94%, 敏感度=96%, 特异度=94%医学诊断测试——高敏感度

如何使用混淆矩阵计算器

  1. 输入真正例 (TP) 数量:模型正确预测为正类的样本数。
  2. 输入假正例 (FP):模型预测为正,但真实标签为负(第一类错误)。
  3. 输入真负例 (TN):正确的负类预测,以及假负例 (FN):漏掉的正类(第二类错误)。
  4. 点击“计算指标”即可立即计算准确率、精确率、召回率、特异度、F1 分数、MCC、NPV、FPR 和 FNR。
  5. 使用快速加载示例按钮,查看平衡模型、高精确率模型和医学测试等预设场景。

常见问题

精确率和召回率有什么区别?
精确率回答的是“在所有被预测为正的样本中,有多少是正确的?”,而召回率回答的是“在所有真实正样本中,模型找到了多少?”。精确率高表示假正例少(模型在判定为正时更谨慎);召回率高表示假负例少(模型很少漏掉真正例)。两者通常存在权衡关系,由决策阈值控制。
为什么准确率并不总是最佳指标?
在类别不平衡的数据集中,准确率可能具有误导性。例如,如果只有 1% 的交易是欺诈交易,那么一个始终预测“非欺诈”的模型可以达到 99% 的准确率,但却检测不到任何欺诈案例。在这种情况下,精确率、召回率、F1 分数或 MCC 能更真实地反映模型表现。
什么是马修斯相关系数 (MCC)?
MCC 是一个单一且平衡的指标,考虑了混淆矩阵的四个单元格(TP、FP、TN、FN)。它的取值范围为 −1 到 +1,其中 +1 表示完美预测,0 表示不优于随机,−1 表示完全相反。MCC 被认为是二分类中最有信息量的指标之一,尤其适用于类别不平衡的数据集,因为它不会被严重的类别偏斜夸大。
特异度衡量什么,什么时候重要?
特异度(真负率)= TN / (TN + FP),衡量模型在真实负样本中避免假正例的能力。在医学筛查中它尤其重要:高特异度测试可以尽量减少把健康人误判为患病的人数,从而减少不必要的进一步检查和患者焦虑。灵敏度(召回率)和特异度共同定义 ROC 曲线。
F1 分数与精确率和召回率是什么关系?
F1 分数是精确率和召回率的调和平均:F1 = 2 × (P × R) / (P + R)。调和平均保证了只要精确率或召回率其中之一很低,F1 也会很低——你不能通过牺牲其中一个来获得高 F1。F1 的范围是 0(最差)到 1(最好),当你需要同时平衡假正例和假负例时,它是最常用的单一指标。
医学测试中的灵敏度和特异度有什么区别?
灵敏度(召回率)是测试正确识别患病患者的概率:TP / (TP + FN)。高灵敏度测试会漏掉很少的病人,因此适合用于排除疾病。特异度是测试正确识别健康人的概率:TN / (TN + FP)。高特异度测试会产生很少的假正例,因此适合用于确认疾病。大多数诊断测试都存在二者之间的权衡,这种关系由 ROC 曲线表示。