准确率、召回率、f1指标计算的区别

准确率 (Accuracy)、召回率 (Recall) 和 F1 分数

  • T P TP TP (True Positive): 真正例(正类被正确预测为正类)
  • T N TN TN (True Negative): 真负例(负类被正确预测为负类)
  • F P FP FP (False Positive): 假正例(负类被错误预测为正类)
  • F N FN FN (False Negative): 假负例(正类被错误预测为负类)

准确率 (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

  • 应用: 准确率适用于样本类分布均衡的情况,即正类和负类样本数量大致相同。它在类不平衡的情况下可能会产生误导性的结果。

召回率 (Recall)

  • 定义: 召回率是模型正确预测的正类样本占实际正类样本的比例。
  • 公式:
    Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP
  • 应用: 召回率特别适用于正类样本重要的情况,例如在医学诊断中,我们希望尽可能多地识别出真正的疾病病例,即使这意味着可能会出现一些误报。

F1 分数 (F1 Score)

  • 定义: F1 分数是准确率和召回率的调和平均值,用于平衡这两者的表现。
  • 公式:
    F1 Score = 2 × Precision × Recall Precision + Recall \text{F1 Score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1 Score=2×Precision+RecallPrecision×Recall
    其中:
    • Precision (精确率):
      Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP
  • 应用: F1 分数特别适用于需要兼顾准确率和召回率的情况,尤其在正类样本数量不均衡时。它提供了一个综合考虑两者的指标。

区别

  • 衡量的角度:

    • 准确率: 衡量的是模型整体的预测准确性。
    • 召回率: 专注于正类样本的识别能力。
    • F1 分数: 综合考虑了精确率和召回率的平衡情况,尤其在类不平衡时提供了一个综合评价指标。
  • 应用场景:

    • 准确率: 适用于类别均衡的情况。
    • 召回率: 适用于正类样本不均衡的情况,尤其是在关注正类样本时。
    • F1 分数: 适用于需要平衡准确率和召回率的情况,尤其是在正类样本和负类样本数量差异较大时。
  • 可能的权衡:

    • 高准确率: 不一定意味着高召回率,尤其是在数据集类别不平衡时。模型可能会偏向于预测数量多的负类样本,从而忽视正类样本。
    • 高召回率: 可能伴随较低的准确率,因为模型可能会将许多负类样本误预测为正类。
    • 高 F1 分数: 提供了一个权衡精确率和召回率的综合指标,但仍需结合具体应用场景来解读其价值。

例子

考虑一个医疗测试,假设我们有1000名患者,其中100名实际患病(正类),900名未患病(负类)。

  • 模型预测:

    • 80名实际患病的患者被正确预测为正类 (TP)
    • 20名实际患病的患者被错误预测为负类 (FN)
    • 50名未患病的患者被错误预测为正类 (FP)
    • 850名未患病的患者被正确预测为负类 (TN)
  • 准确率:
    Accuracy = 80 + 850 80 + 20 + 50 + 850 = 930 1000 = 0.93  或  93 % \text{Accuracy} = \frac{80 + 850}{80 + 20 + 50 + 850} = \frac{930}{1000} = 0.93 \text{ 或 } 93\% Accuracy=80+20+50+85080+850=1000930=0.93  93%

  • 召回率:
    Recall = 80 80 + 20 = 80 100 = 0.80  或  80 % \text{Recall} = \frac{80}{80 + 20} = \frac{80}{100} = 0.80 \text{ 或 } 80\% Recall=80+2080=10080=0.80  80%

  • 精确率:
    Precision = 80 80 + 50 = 80 130 ≈ 0.615  或  61.5 % \text{Precision} = \frac{80}{80 + 50} = \frac{80}{130} \approx 0.615 \text{ 或 } 61.5\% Precision=80+5080=130800.615  61.5%

  • F1 分数:
    F1 Score = 2 × 0.615 × 0.80 0.615 + 0.80 ≈ 0.692  或  69.2 % \text{F1 Score} = 2 \times \frac{0.615 \times 0.80}{0.615 + 0.80} \approx 0.692 \text{ 或 } 69.2\% F1 Score=2×0.615+0.800.615×0.800.692  69.2%

即使准确率很高(93%),但召回率(80%)和 F1 分数(69.2%)可以表明模型在正类样本的识别方面仍有提升空间。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值