はじめに
機械学習モデルを作成した後、その性能をどう評価するでしょうか?多くの人が最初に目にするのは「正解率 (Accuracy)」だと思います。しかし、講義で学んだのは「正解率が高いからといって、良いモデルとは限らない」ということでした。
今回は、モデルの性能を正しく評価するための「混同行列」というツールについてまとめます。
正解率99%でもダメなモデルとは?
ここに、100人の患者のデータがあり、そのうち99人は健康、1人だけが重い病気にかかっているとします。
このデータに対して、「全員、健康です」と予測する、非常に単純なモデルを考えてみましょう。
このモデルは、99人の健康な人を正しく「健康」と予測し、1人の病気の人を間違って「健康」と予測します。
その結果、このモデルの 正解率は99% になります。しかし、このモデルは肝心な「病気の人を見つける」という目的を全く達成できていません。
このように、データのクラス比が偏っている(不均衡な)場合、正解率はモデルの性能を正しく表せないのです。
予測結果を分解する「混同行列」
そこで登場するのが 混同行列 (Confusion Matrix) です。これは、モデルの予測結果を以下の4つのパターンに分解して整理した表です。
| 予測:陽性 (病気) | 予測:陰性 (健康) | |
|---|---|---|
| 実際:陽性 (病気) | 真陽性 (TP) | 偽陰性 (FN) |
| 実際:陰性 (健康) | 偽陽性 (FP) | 真陰性 (TN) |
- 真陽性(TP): 本当に病気の人を、正しく「病気」と予測できた。(True Positive)
- 偽陰性(FN): 本当は病気の人を、間違って「健康」と予測してしまった。(False Negative)→ 見逃し
- 偽陽性(FP): 健康な人を、間違って「病気」と予測してしまった。(False Positive)→ 誤診
- 真陰性(TN): 健康な人を、正しく「健康」と予測できた。(True Negative)
重要な2つの指標:再現率と適合率
この混同行列を使うと、正解率だけでは見えなかった性能を測る指標を計算できます。
- 再現率 (Recall): 「見逃し」をどれだけ減らせたかを示す指標。病気の診断では最も重要視されることが多いです
- 適合率 (Precision): 「誤診」をどれだけ減らせたかを示す指標
まとめ
モデルを評価する際は、正解率だけを見るのではなく、混同行列を作成し、解きたい課題の目的に応じて「再現率」や「適合率」といった指標を確認することが非常に重要です。