召回率(Recall)是分类模型评估的核心指标之一,主要衡量模型对"真实正类样本"的"识别能力"------即所有真正属于正类的样本中,被模型成功预测为正类的比例。它的计算依赖于"混淆矩阵"(Confusion Matrix)中的两个关键指标,需先理解基础概念再推导公式。
一、先搞懂:召回率依赖的"混淆矩阵"
在二分类问题中(比如"判断邮件是否为垃圾邮件""检测肿瘤是否为恶性"),模型的预测结果与真实情况会产生4种组合,构成混淆矩阵:
真实情况\预测结果 | 预测为正类(Positive) | 预测为负类(Negative) |
---|---|---|
真实正类(Positive) | TP(真正例) | FN(假负例) |
真实负类(Negative) | FP(假正例) | TN(真负例) |
对这4个指标的通俗解释(以"肿瘤检测"为例,正类=恶性肿瘤,负类=良性肿瘤):
- TP(True Positive,真正例):真实是恶性(正类),模型预测为恶性(正类)→ 正确判断。
- FN(False Negative,假负例) :真实是恶性(正类),模型预测为良性(负类)→ 漏判(最危险的错误,比如漏诊癌症)。
- FP(False Positive,假正例):真实是良性(负类),模型预测为恶性(正类)→ 误判(比如良性误判为恶性,造成不必要恐慌)。
- TN(True Negative,真负例):真实是良性(负类),模型预测为良性(负类)→ 正确判断。
二、召回率的计算公式
召回率的核心是"抓全真实正类",因此公式聚焦于 "真实正类中被正确预测的比例":
公式:
\\text{召回率(Recall)} = \\frac{\\text{TP(真正例)}}{\\text{TP(真正例)} + \\text{FN(假负例)}}
- 分母(TP + FN):所有"真实正类样本的总数"(不管模型预测对不对,只要真实是正类,都算在内)。
- 分子(TP):在真实正类中,被模型"正确预测为正类"的样本数。
- 取值范围:0 ~ 1(或0% ~ 100%),越接近1,说明模型"漏判正类"的概率越低,抓全正类的能力越强。
三、实例:手把手算召回率
以"垃圾邮件识别"为例(正类=垃圾邮件,负类=正常邮件):
假设模型处理了100封真实垃圾邮件(TP + FN = 100),其中:
- 85封被正确预测为垃圾邮件(TP = 85);
- 15封被误判为正常邮件(FN = 15)。
代入公式计算:
\\text{召回率} = \\frac{85}{85 + 15} = \\frac{85}{100} = 0.85 \\quad (\\text{即85%})
这意味着:所有真实垃圾邮件中,85%被模型成功识别,15%被漏判为正常邮件。
四、关键补充:召回率的应用场景
召回率的价值体现在"对漏判敏感的场景"------即"宁可误判,不能漏判"的情况:
- 医疗诊断:比如癌症检测,漏判(FN)会导致患者错过治疗时机,因此需要优先保证高召回率(哪怕部分良性被误判为恶性)。
- 风控识别:比如信用卡欺诈交易,漏判(FN)会导致用户/平台损失,需高召回率抓全欺诈交易。
- 安全检测:比如机场危险品识别,漏判(FN)可能引发安全事故,必须高召回率。
⚠️ 注意:召回率通常与"精确率(Precision)"存在权衡关系------提高召回率可能导致精确率下降(比如为了不漏判癌症,把更多良性判为恶性,导致误判增加),需根据业务需求平衡两者(常用F1分数综合评估)。
五、多分类问题中的召回率
如果是多分类(比如识别"猫、狗、鸟"),召回率需按"每一类"单独计算,再通过两种方式综合:
- 宏平均召回率(Macro-Recall):先算每一类的召回率,再取平均值(不考虑类别的样本数量)。
- 微平均召回率(Micro-Recall):先统计所有类的总TP和总FN,再用总TP/(总TP + 总FN)计算(等价于多分类的准确率)。
日常场景中,二分类的召回率是基础,理解后可轻松扩展到多分类。