【てきごうりつとさいげんりつ】
適合率と再現率(Precision/Recall) とは?
最終更新:
💡 見つけた中の正解率? それとも見逃さない力? 二つの視点でAIの実力を測る
適合率は「対象と判定した中で、本当に対象だった割合」、再現率は「本当の対象を見つけられた割合」です。分母の違い、計算例、正解率だけでは見えない見逃しを説明します。
📌 このページのポイント
- 適合率(Precision)は「陽性と判定した中で実際に陽性だった割合」で、誤検出の少なさを示す
- 再現率(Recall)は「実際の陽性のうち正しく陽性と判定できた割合」で、見逃しの少なさを示す
- 判定のしきい値を動かすと、片方が上がるともう片方が下がりやすい(必ずそうなるとは限らない)
- F1スコアは適合率と再現率の調和平均で、両方のバランスを1つの数値で表せる
適合率と再現率って何が違うの?
魚釣りで例えるとわかりやすいよ。適合率は「釣った魚のうち食べられる魚の割合」で、再現率は「池にいる食べられる魚のうち実際に釣り上げた割合」なんだ。どっちの視点で評価するかの違いだね。
両方高ければいいんじゃないの?
理想はそうなんだけど、判定のしきい値を動かすと片方を上げたときにもう片方が下がりやすいんだ。網を大きくすれば食べられる魚をたくさん捕れる(再現率が上がる)けど、ゴミも一緒に入りやすい(適合率が下がりやすい)。逆に網を小さくすれば適合率は上がりやすいけど、取りこぼしが増えるんだよ。ただ、いつも同時に逆へ動くとは限らないよ。
どっちを重視すればいいの?
何を間違えると困るかで決めよう。たとえば迷惑メールの検出で、必要なメールを迷惑扱いする誤検出を減らしたいなら適合率に注目する。迷惑メールを取り逃すのを減らしたいなら再現率に注目するよ。片方だけで十分とは限らず、両方と実際の間違いを確かめるんだ。
具体的にはどうやって計算するの?
accuracy(正解率)だけ見ればよくないの?
まとめ:ざっくりこれだけ覚えればOK!
「適合率と再現率」って出てきたら「見つけた中の正確さと、対象を拾えた割合」と思えばだいたいOK!
📖 おまけ:英語の意味
「Precision and Recall」 = 適合率と再現率
💬 precision は「正確さ」、recall は「思い出す・呼び戻す」で、正解をどれだけ呼び戻せたかというニュアンスだよ