真真假假,真假假真!一文读懂多类别的TP、FP、FN、TN;并理解准确率、精确率、召回率、F1分数计算公式

二分类真假值

在二元分类问题中,通常有两个类别,例如正类和负类。根据模型的预测和实际标签,可以将预测结果分成以下四种情况:

  • 真真值 (True-True, TT):
    模型预测为正类,实际标签也为正类。这表示模型正确地将正例识别为正例。

  • 真假值 (True-False, TF):
    模型预测为正类,但实际标签为负类。这表示模型错误地将负例错误地识别为正例。

  • 假真值 (False-True, FT):
    模型预测为负类,但实际标签为正类。这表示模型错误地将正例错误地识别为负例。

  • 假假值 (False-False, FF):
    模型预测为负类,实际标签也为负类。这表示模型正确地将负例识别为负例。

TP (True Positive) 表示真正例,即模型预测为正类,实际标签也为正类的数量;
FP (False Positive) 表示假正例,即模型预测为正类,但实际标签为负类的数量;
FN (False Negative) 表示假负例,即模型预测为负类,但实际标签为正类的数量;
TN (True Negative) 表示真负例,即模型预测为负类,实际标签也为负类的数量。

二分类构造混淆矩阵:

                   实际正类     实际负类
预测为正类 (预测真真值)    TP        FP
预测为负类 (预测假假值)    FN        TN

多分类真假值

读者可以通过二分类迁移至多分类的解释,但多类的数值需要具体到某一类别来计算

  • 真正例为 模型预测为A类,实际标签也为A类的数量
  • 假正例为 模型预测为A类,实际标签不是A类的数量
  • 假负例为 实际标签为A类,模型预测为不是A类的数量
  • 真负例为 实际标签不是A类,模型预测的也不是A类的数量

更为科学的解释为:
假设有 k 个类别(k ≥ 3),对于每一个类别 i,可以定义以下值:

  • TP (True Positive):真正例
    对于类别 i,TP 表示模型正确地将属于类别 i 的样本预测为类别 i。

  • FP (False Positive):假正例
    对于类别 i,FP 表示模型错误地将不属于类别 i 的样本预测为类别 i。

  • FN (False Negative):假负例
    对于类别 i,FN 表示模型错误地将属于类别 i 的样本预测为其他不是类别 i 的类别。

  • TN (True Negative):真负例
    对于类别 i,TN 表示模型正确地将不属于类别 i 的样本预测为不是类别 i。

  对于每一个类别 i,都可以构建一个混淆矩阵。通常,在多分类问题中,我们关注的是每个类别的 TP、FP、FN 和 TN 值,然后可以根据这些值计算一些指标,比如精确率、召回率、F1 分数等,来评估模型的性能。
  还会需要综合考虑各个类别的性能,例如宏平均(Macro-average)和微平均(Micro-average)。在这些情况下,会涉及到对多个混淆矩阵的综合考虑和计算。

评价指标的计算

  单个类别进行计算准确率、精确率、召回率、F1分数

  1. 准确率(Accuracy)
    准确率表示模型正确预测的样本数占总样本数的比例。

Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=TP+TN+FP+FNTP+TN

  1. 精确率(Precision)
    精确率衡量了模型预测为正类的样本中有多少实际上是真正例。

Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP

  1. 召回率(Recall),也称为敏感性或真正例率:
    召回率衡量了实际为正类的样本中有多少被模型正确地预测为正类。

Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP

  1. F1 分数(F1-Score)
    F1 分数是精确率和召回率的调和平均,用于综合考虑模型的精确性和召回性能。

F1-Score = 2 × Precision × Recall Precision + Recall \text{F1-Score} = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1-Score=Precision+Recall2×Precision×Recall

  宏平均(Macro-average)和微平均(Micro-average)是用于多类别分类问题中综合计算性能指标的两种方法。它们分别考虑了每个类别的性能,从而提供了全局的评估。以下是它们的计算公式:

假设有 k 个类别,对于每一个类别 i:

  • TPi (True Positives for class i):类别 i 中正确预测为类别 i 的数量。
  • FPi (False Positives for class i):类别 i 中错误预测为类别 i 的数量。
  • FNi (False Negatives for class i):类别 i 中正确标签为类别 i,但被错误地预测为其他类别的数量。
  1. 宏平均(Macro-average)
    宏平均计算每个类别的指标(如精确率、召回率、F1 分数等),然后对所有类别的指标取平均。它平等地对待每个类别,不考虑类别的样本分布。

    • 宏精确率(Macro-Precision)
      Macro-Precision = 1 k ∑ i = 1 k T P i T P i + F P i \text{Macro-Precision} = \frac{1}{k} \sum_{i=1}^{k} \frac{TP_i}{TP_i + FP_i} Macro-Precision=k1i=1kTPi+FPiTPi

    • 宏召回率(Macro-Recall)
      Macro-Recall = 1 k ∑ i = 1 k T P i T P i + F N i \text{Macro-Recall} = \frac{1}{k} \sum_{i=1}^{k} \frac{TP_i}{TP_i + FN_i} Macro-Recall=k1i=1kTPi+FNiTPi

    • 宏F1分数(Macro-F1 Score)
      Macro-F1 Score = 1 k ∑ i = 1 k 2 × Macro-Precision × Macro-Recall Macro-Precision + Macro-Recall \text{Macro-F1 Score} = \frac{1}{k} \sum_{i=1}^{k} \frac{2 \times \text{Macro-Precision} \times \text{Macro-Recall}}{\text{Macro-Precision} + \text{Macro-Recall}} Macro-F1 Score=k1i=1kMacro-Precision+Macro-Recall2×Macro-Precision×Macro-Recall

  2. 微平均(Micro-average)
    微平均将所有类别的 TP、FP 和 FN 汇总,然后计算总体的指标。它更加关注样本数较多的类别,可以在类别不平衡时给出更准确的全局性能评估。

    • 总体精确率(Micro-Precision)
      Micro-Precision = ∑ i = 1 k T P i ∑ i = 1 k T P i + ∑ i = 1 k F P i \text{Micro-Precision} = \frac{\sum_{i=1}^{k} TP_i}{\sum_{i=1}^{k} TP_i + \sum_{i=1}^{k} FP_i} Micro-Precision=i=1kTPi+i=1kFPii=1kTPi

    • 总体召回率(Micro-Recall)
      Micro-Recall = ∑ i = 1 k T P i ∑ i = 1 k T P i + ∑ i = 1 k F N i \text{Micro-Recall} = \frac{\sum_{i=1}^{k} TP_i}{\sum_{i=1}^{k} TP_i + \sum_{i=1}^{k} FN_i} Micro-Recall=i=1kTPi+i=1kFNii=1kTPi

    • 总体F1分数(Micro-F1 Score)
      Micro-F1 Score = 2 × Micro-Precision × Micro-Recall Micro-Precision + Micro-Recall \text{Micro-F1 Score} = \frac{2 \times \text{Micro-Precision} \times \text{Micro-Recall}}{\text{Micro-Precision} + \text{Micro-Recall}} Micro-F1 Score=Micro-Precision+Micro-Recall2×Micro-Precision×Micro-Recall

  总之,宏平均和微平均都是在多类别分类问题中用于综合计算性能指标的方法。选择哪个方法取决于你关心的问题,以及样本分布是否平衡。

  在多类别分类问题中,通常还需要对多个混淆矩阵的性能进行综合考虑和计算,以得出模型的整体性能。除了宏平均和微平均之外,还有一些其他常规的方法来综合考虑多个类别的性能,比如加权平均和宏加权平均。让我为你解释一下这些方法:

  1. 加权平均
    加权平均考虑了每个类别的重要性,为每个类别分配不同的权重。通常,这些权重可以根据类别的样本分布或者任务的重要性来指定。对于每个类别,计算其相应指标(如精确率、召回率等),然后根据权重进行加权平均。

  2. 宏加权平均
    宏加权平均是一种综合考虑每个类别性能的方法。对于每个类别,计算相应指标(如精确率、召回率等),然后对这些指标取加权平均。这种方法将加权平均和宏平均结合起来,可以平衡考虑每个类别的性能。

  3. GM(几何平均)-平均
    几何平均平均是对每个类别指标的几何平均,然后计算总体的几何平均。这种方法可以在处理不平衡样本分布时产生较好的结果。

  4. HM(调和平均)-平均
    调和平均平均是对每个类别指标的调和平均,然后计算总体的调和平均。这种方法在处理不平衡样本分布时也具有一定的优势。

  选择哪种方法取决于你的问题背景、类别分布、以及你关心的性能指标。不同的方法可能会在不同情况下产生不同的结果。在实际应用中,建议尝试多种方法,并根据实验结果来选择最适合的方法来评估模型的性能。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值