適合率と再現率
Precision and Recall
分類モデルの性能を測定する2つの重要な指標です。適合率は正の予測がどれだけ正確かを、再現率は実際の正例をどれだけ見つけたかを表します。
適合率と再現率とは?
適合率と再現率は、分類モデルの性能を測定する2つの補完的な指標です。 精度(正解率)だけでは見えない、モデルの実際の強みと弱みを明らかにします。特に、データのクラスバランスが悪い場合や、異なるエラーのコストが大きく異なるシナリオで重宝します。
ひとことで言うと: 適合率は「発火したアラームの信頼度」、再現率は「実際の危険をどれだけ検出できたか」というイメージです。
ポイントまとめ:
- 何をするものか: モデルの予測の質と範囲を別々に測定する指標
- なぜ必要か: 異なるアプリケーションでは「誤検知」と「見落とし」のどちらが重大かが変わるから
- 誰が使うか: 医療診断、スパム検出、不正検知など、エラーの影響が大きいシステムの評価
なぜ重要か
例えば、病気の診断AIを開発するなら、患者を見落とす(偽陰性)ことは命に関わります。一方、メールスパム判定なら、正当なメールを誤ってスパムにする(偽陽性)ことが最悪です。精度という単一の指標では、こうした違いを捉えられません。適合率と再現率を別々に評価することで、「このモデルは○○用途に向いている」という判断が初めて可能になるのです。
仕組みをわかりやすく解説
まず、**混同行列(こんどうぎょうれつ)**という考え方を理解する必要があります。分類問題の結果は4つのパターンに分かれます:
- 真陽性(TP) — 正と判定して、実際も正(正解)
- 偽陽性(FP) — 正と判定したのに、実際は負(誤検知)
- 真陰性(TN) — 負と判定して、実際も負(正解)
- 偽陰性(FN) — 負と判定したのに、実際は正(見落とし)
**適合率(Precision)**は以下の式で計算します:
適合率 = TP ÷ (TP + FP)
「正と判定したもの」の中で、実際に正かった割合です。誤検知が少ないほど、適合率は高くなります。
**再現率(Recall)**は以下の式です:
再現率 = TP ÷ (TP + FN)
「実際に正であるもの」の中で、モデルが正しく見つけた割合です。見落としが少ないほど、再現率は高くなります。
具体例を挙げます。100人が受診する病気スクリーニングで、実際の患者は10人だとします。モデルが8人を患者と判定し、そのうち7人が本当に患者で、1人は誤判定だった場合:
- 適合率 = 7 ÷ (7 + 1) = 87.5%(判定した人の87.5%が本当の患者)
- 再現率 = 7 ÷ (7 + 3) = 70%(本当の患者の70%を検出できた)
実際の活用シーン
医療診断システム
病気のスクリーニングでは、患者を見落とすことが最悪なので、再現率を優先します。再現率が95%なら、患者の95%を検出できるということ。多少の誤検知(偽陽性)は許容し、フォローアップで確認します。
メールスパム判定
逆に、スパム判定は適合率を重視します。正当なメール(gmail、銀行通知など)を誤ってスパムにするのは破壊的だからです。適合率が99%なら、スパムと判定した99%が本当のスパムです。
不正検知システム
クレジットカードの不正取引検知も再現率重視です。不正取引を見落とすとカード利用者が損害を受けるため、多少の誤検知(正当な取引も一時的に止める)は受け入れられます。
メリットと注意点
メリット: 単一の精度指標では見逃す、アプリケーション固有のニーズを正確に評価できます。モデルの実際の有用性を判断できるのです。
注意点: 適合率と再現率はトレードオフ関係にあります。再現率を上げようとすると適合率が下がり、その逆もあります。データの閾値(何%以上の確信度で「正」と判定するか)によって値が変わることも理解が必要です。
関連用語
- 混同行列 — 分類結果の全体像を表現する行列。適合率と再現率はここから導出されます。
- F1スコア — 適合率と再現率の調和平均。両者のバランスを単一数値で表現します。
- ROC曲線 — 様々な閾値でのモデル性能を視覚化します。
- 分類 — 適合率と再現率が活躍する機械学習の基本タスク。
- 評価指標 — モデル性能を測定するための各種指標の総称。
よくある質問
Q: 適合率と再現率、どちらを優先すべきですか?
A: アプリケーションの性質によります。見落としが命に関わる医療診断なら再現率、無駄が大きいスパム判定なら適合率を優先します。多くの実務では両方のバランスを取るため、F1スコアなどで評価することもあります。
Q: 適合率と再現率が両方100%のモデルはありますか?
A: 理想的には素晴らしいですが、実務ではほぼ不可能です。2つのうち一方を上げると他方が下がるトレードオフがあるからです。通常は「許容できるレベル」を両者で定めて、そこに照準を合わせます。
Q: 精度ではなく、なぜ適合率と再現率が必要なのですか?
A: データが不均衡な場合、精度は信用できません。例えば、患者1%、健康者99%のデータで「すべて健康」と判定するモデルは精度99%ですが、実用性は0です。適合率と再現率なら、このモデルの問題点(再現率0%)を即座に指摘できます。