【AI知识点】召回率、精确率、准确率、F1-score和混淆矩阵

更多AI知识点总结见我的专栏:【AI知识点】
AI论文精读、项目和一些个人思考见我另一专栏:【AI修炼之路】
有什么问题、批评和建议都非常欢迎交流,三人行必有我师焉😁

召回率、精确率、准确率、F1-score和混淆矩阵,这些是评估一个分类模型性能的常用指标,我们可以通过一个简单的二分类问题来说明它们的区别。这个例子是关于邮件垃圾分类的场景,假设我们要训练一个分类器来区分电子邮件是否是垃圾邮件。

假设的分类结果:

  • 总共分类了 100 封邮件。
  • 其中,实际垃圾邮件有 20 封,非垃圾邮件有 80 封。
  • 下面这个混淆矩阵(Confusion Matrix) 展示了分类模型的四种预测结果:
实际垃圾邮件 (Positive)实际非垃圾邮件 (Negative)
预测为垃圾邮件15 (TP)10 (FP)
预测为非垃圾邮件5 (FN)70 (TN)

定义这些术语

  • 真正类(TP):模型正确预测为垃圾邮件的邮件数。这里是 15 封。(阳性
  • 假正类(FP):模型错误地将非垃圾邮件预测为垃圾邮件的邮件数。这里是 10 封。(假阳性,误报,误诊
  • 假负类(FN):模型错误地将垃圾邮件预测为非垃圾邮件的邮件数。这里是 5 封。(假阴性,漏报,漏诊
  • 真负类(TN):模型正确预测为非垃圾邮件的邮件数。这里是 70 封。(阴性

各个指标的计算

1. 召回率(Recall)

  • 召回率衡量的是有多少真正的垃圾邮件被模型识别出来:
    Recall = TP TP + FN = 15 15 + 5 = 0.75 \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} = \frac{15}{15 + 5} = 0.75 Recall=TP+FNTP=15+515=0.75
  • 解释:真正的垃圾邮件有20封,其中15封被模型识别出来了,5封没有被识别出来(漏报),所以召回率为 0.75。
  • 适用场景:适合于关心漏报(假阴性) 的场景,比如:
    • 医疗诊断,漏诊一个病人可能造成严重后果。
    • 安全系统,漏检一个危险品会有高风险。

2. 精确率(Precision)

  • 精确率衡量的是模型预测为垃圾邮件的邮件中,实际为垃圾邮件的比例:
    Precision = TP TP + FP = 15 15 + 10 = 0.60 \text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}} = \frac{15}{15 + 10} = 0.60 Precision=TP+FPTP=15+1015=0.60
  • 解释:模型预测了25封为垃圾邮件,但其中只有15封是真的垃圾邮件,其他10封是误报,所以精确率为 0.60。
  • 适用场景:适合于关心误报(假阳性) 的场景,比如:
    • 垃圾邮件过滤系统,误报一封正常邮件为垃圾邮件可能影响用户体验。
    • 广告点击率预测,误报一条广告点击可能增加广告主的成本。

3. 准确率(Accuracy)

  • 准确率衡量的是模型所有预测中的正确率(包括正确识别的垃圾邮件和非垃圾邮件):
    Accuracy = TP + TN TP + TN + FP + FN = 15 + 70 15 + 70 + 10 + 5 = 0.85 \text{Accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}} = \frac{15 + 70}{15 + 70 + 10 + 5} = 0.85 Accuracy=TP+TN+FP+FNTP+TN=15+70+10+515+70=0.85
  • 解释:准确率为 0.85,说明模型在 100 封邮件中有 85 封邮件分类正确。
  • 适用场景:适合用于数据集类别分布平衡且每一类都同等重要的情况。
  • 注意:但对于类别不平衡问题,它可能会误导模型的真实表现。比如如果 90% 的邮件是非垃圾邮件,模型可以只预测所有邮件为非垃圾邮件,准确率高达 90%,但这并不意味着模型对垃圾邮件有良好的识别能力。因此,准确率并不是衡量模型的最好指标。

4. F1-score

  • F1-score 是精确率和召回率的调和平均数,兼顾两者的平衡:
    F 1 = 2 × Precision × Recall Precision + Recall = 2 × 0.60 × 0.75 0.60 + 0.75 = 0.6667 F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} = 2 \times \frac{0.60 \times 0.75}{0.60 + 0.75} = 0.6667 F1=2×Precision+RecallPrecision×Recall=2×0.60+0.750.60×0.75=0.6667
  • 解释:F1-score 为 0.67,表示在平衡精确率和召回率的情况下,模型的综合性能。
  • 适用场景:适合在需要平衡精确率和召回率的情况下使用,例如当我们需要一个较为综合的指标来评估模型时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值