『正解率だけ見ればいいじゃん?』いえいえ、それだけでは危険です。ましろ君の純朴な疑問が、混同行列という分析ツールの扉を開きます。
先生〜、モデルの性能って、正解率(Accuracy)だけ見ればいいんじゃないんですかぁ?
ましろちゃん、その素朴な問いが今日の核心よ。
実は正解率だけだと見えない落とし穴があるの。
えっ、90%正解なら90点ってことじゃん。
何がダメなの?
つまり、クラスに偏りがある時に問題になる、ということですよね。
例えば100人に1人しかかからない病気の診断で、全員『健康』と答えるモデルは正解率99%ですが、病人を1人も救えません。
うそっ!?
それ役に立たないじゃん!
だから混同行列(Confusion Matrix)で内訳を見るの。
予測(陽性/陰性) × 実際(陽性/陰性)の2×2の表で、4象限に分解するわ。
TP=True Positive(真陽性)、FP=False Positive(偽陽性)、FN=False Negative(偽陰性)、TN=True Negative(真陰性)の4つですね。
えへへ、ちょっと難しいですけど…陽性を本当に陽性って言えたのがTPで、健康なのに病気って誤判定しちゃったのがFP、ってことですよねぇ〜?
ましろちゃん、完璧よ! そこから2つの重要指標が出てくるの。
精度(Precision) = TP / (TP + FP)、再現率(Recall) = TP / (TP + FN)。
陽性と予測したうち正解はどれだけか、実際の陽性のうち検出できた割合はどれだけか、を測るわ。
あたし、わかんないよ〜。
両方大事そうだけど、どう使い分けるの?
医療のように見逃しが致命的な場面では再現率を重視、スパム判定のように誤検出で正常メールを削除したくない場面では精度を重視、といった使い分けになります。
そしてPrecisionとRecallのバランスを取るのがF値(F1スコア)。
調和平均で両者を1つにまとめた指標ね。
どちらか一方だけが極端に高くてもF値は上がらない仕組みになっているのよ。
病気診断とスパム判定で重視するものが違うって、めっちゃ実用的な話じゃん!
ましろの素朴な質問から、すごい世界が開けちゃいました〜。
また『正解率(Accuracy)=(TP+TN)/(全体)』、つまり全体のうち正しく分類できた割合も混同行列から計算できます。
不均衡データではF値やAUCと併用するのが基本です。
指標を1つだけ見るんじゃなくて、複数を見比べて判断するってことだね。
試合のスタッツを多面的に見るのと似てる!
いいバドミントン例え。
勝ち点だけでなくシュート数やボール保持率も見る、あの発想と同じね。
同じ指標でも場面によって意味が変わるって、奥が深いですね〜。
試験では『混同行列の4象限(TP/FP/FN/TN)』『精度と再現率の式』『場面で使い分け』が鉄板よ。
確認クイズ
偽陽性(FP)の説明として正しいものはどれか?
- 実際に陽性のものを正しく陽性と予測
- 実際に陰性のものを誤って陽性と予測
- 実際に陽性のものを誤って陰性と予測
- 実際に陰性のものを正しく陰性と予測
こたえを見る
正解: 2. 実際に陰性のものを誤って陽性と予測
FP(False Positive)は実際は陰性なのに誤って陽性と予測したケースです。健康な人を病気と判定してしまう例が該当します。見逃しはFN、正解はTP/TNで、混同行列の4象限として整理されます。