Recall(再現率)は、実際に陽性であるサンプルのうち、モデルが正しく陽性と判定できた割合を示す指標です。Sensitivity(感度)や TPR(True Positive Rate)とも呼ばれます。見逃し(False Negative)のコストが致命的なタスクで最重要視される指標です。
Recall とは何か
Recall は TP / (TP + FN) で計算されます。分母は「実際に陽性であるサンプルの総数」で、そのうちどれだけを正しく検出できたかを示します。Sensitivity や TPR と同義であり、医療分野では Sensitivity、統計学では TPR という名称がよく使われます。
なぜ Recall が重要か — 見逃しのビジネスコスト
見逃し(FN)のコストが高い場面は数多くあります。がんの見逃しは患者の生命に関わり、不正取引の見逃しは金銭的損失に直結し、不良品の見逃しはリコールや信用失墜を引き起こします。これらのシーンでは Recall を最大化することが最優先課題です。
具体例1: がん検診
がん検診でがんを見逃す(FN)と、治療の遅れにより患者の予後が大幅に悪化します。がん検診では「疑わしいものはすべて精密検査に回す」方針が採用され、Recall を極めて高く設定します。多少の誤検知(FP)が発生しても、精密検査で除外できるため、見逃しよりもはるかに低コストです。
具体例2: 不正取引検知
不正取引を見逃す(FN)と、直接的な金銭的損失が発生します。クレジットカード不正検知では、正常な取引を一時停止する(FP)コストよりも、不正取引を見逃す(FN)コストの方がはるかに高いため、Recall を高く維持することが重要です。
具体例3: 製造業の不良品検出
不良品を見逃して出荷すると、クレームやリコールにつながります。特に安全性に関わる製品(自動車部品、医療機器など)では、不良品の見逃しは人命に関わる可能性があります。このような場面では Recall を限りなく 100% に近づけることが求められます。
Specificity(特異度)との対比
Specificity(特異度)は TNR = TN / (TN + FP) で計算される、「実際に陰性であるサンプルのうち、正しく陰性と判定できた割合」です。Recall が陽性の検出力を示すのに対し、Specificity は陰性の識別力を示します。両者のバランスは ROC 曲線で可視化できます。
Recall を高めるための実践テクニック
- 1
分類閾値を下げる
もっとも直接的な方法です。閾値を下げると、より多くのサンプルが陽性と判定され Recall が向上します。ただし Precision は低下します。
- 2
オーバーサンプリング
少数クラス(陽性)のサンプルを SMOTE などの手法で増やし、モデルが少数クラスをよりよく学習できるようにします。
- 3
コスト感応型学習
FN のペナルティを FP より重く設定して学習させます。多くのアルゴリズムで class_weight パラメータとして提供されています。
- 4
アンサンブル手法
複数モデルの予測を組み合わせることで、単一モデルの見逃しを補完できます。
Micro / Macro / Weighted Recall
多クラス分類では、Precision と同様に Micro(全クラスの TP/FN を合算)、Macro(各クラスの Recall の単純平均)、Weighted(サンプル数で重み付け平均)の3つの集約方法があります。少数クラスの検出力を重視する場合は Macro Recall が有効です。
Qast での活用法
Qast のリーダーボードでは Recall カラムでソートが可能です。見逃しのコストが高いタスクでは Recall でソートし、上位モデルの中から Precision とのバランスが取れたものを選択するのが効果的です。混同行列で FN の内訳を確認し、どのパターンで見逃しが発生しているかを分析しましょう。
Recall を最優先する場面では、まず閾値を下げることを検討しましょう。PR 曲線を確認しながら、許容できる Precision の下限を決めて閾値を設定するのが実践的です。



