はじめに
分類モデルを評価するときに、最初に押さえておきたいのが
Confusion Matrix(混同行列) です。
前回までに、データ分割や cross validation について整理しました。
しかし、モデルを正しく評価するには、単に「正解率が高いかどうか」だけを見るのでは不十分です。
特に分類問題では、
- 何を正しく当てたのか
- 何を間違えたのか
- 見逃しが多いのか
- 誤検知が多いのか
を分けて考える必要があります。
その基本になるのが、Confusion Matrix です。
本記事では、分類モデルの評価で非常に重要な
- Confusion Matrix
- True Positive
- True Negative
- False Positive
- False Negative
- 誤検知
- 見逃し
について、初心者にも分かりやすく整理します。
🎯 対象読者
- 機械学習の分類問題を学び始めた方
- Confusion Matrix の見方がまだ曖昧な方
- TP / TN / FP / FN を整理したい方
- accuracy、precision、recall、F1 score の前提を理解したい方
- AWS の AI / ML 系資格を勉強している方
🧩 まず結論:Confusion Matrix は分類評価の土台
Confusion Matrix は、分類モデルの予測結果を
実際の正解 と モデルの予測 の組み合わせで整理した表です。
二値分類の場合、基本形は以下のようになります。
| 実際 \ 予測 | Positive と予測 | Negative と予測 |
|---|---|---|
| 実際は Positive | TP | FN |
| 実際は Negative | FP | TN |
この4つを理解すると、次に出てくる
- accuracy
- precision
- recall
- F1 score
がかなり理解しやすくなります。
🏷 Positive / Negative とは?
まず、Positive と Negative の意味を整理します。
分類問題では、モデルが判定したい対象を Positive と置くことが多いです。
例えば、以下のようなイメージです。
| ユースケース | Positive | Negative |
|---|---|---|
| 不正取引検知 | 不正取引 | 正常取引 |
| スパム検知 | スパムメール | 通常メール |
| 医療診断 | 疾患あり | 疾患なし |
| 解約予測 | 解約する | 解約しない |
| 異常検知 | 異常 | 正常 |
つまり、Positive は必ずしも「良い」という意味ではありません。
むしろ、不正、異常、疾患、スパムなど、
見つけたい対象 を Positive とすることが多いです。
✅ TP:True Positive とは?
TP は True Positive の略です。
日本語では、真陽性 と呼ばれます。
意味
実際も Positive
モデルも Positive と予測
つまり、モデルが見つけるべき対象を正しく見つけた状態です。
例:不正取引検知
実際:不正取引
予測:不正取引
この場合、モデルは不正取引を正しく検知できています。
例:スパム検知
実際:スパムメール
予測:スパムメール
この場合も、モデルはスパムを正しく検知できています。
✅ TN:True Negative とは?
TN は True Negative の略です。
日本語では、真陰性 と呼ばれます。
意味
実際も Negative
モデルも Negative と予測
つまり、問題のないものを正しく問題なしと判断できた状態です。
例:不正取引検知
実際:正常取引
予測:正常取引
この場合、モデルは正常な取引を正しく正常と判断しています。
例:スパム検知
実際:通常メール
予測:通常メール
この場合も、モデルは通常メールを正しく通常メールと判断できています。
⚠️ FP:False Positive とは?
FP は False Positive の略です。
日本語では、偽陽性 と呼ばれます。
実務では、誤検知 や False Alarm と呼ばれることもあります。
意味
実際は Negative
しかし、モデルは Positive と予測
つまり、本当は問題がないのに、モデルが問題ありと判断してしまった状態です。
例:不正取引検知
実際:正常取引
予測:不正取引
この場合、正常なユーザーの取引を誤って不正と判断しています。
例:スパム検知
実際:通常メール
予測:スパムメール
この場合、普通のメールをスパムとして扱ってしまいます。
📌 FP が問題になる場面
FP が多いと、ユーザー体験や業務効率に悪影響が出ます。
例えば、
- 正常なメールが迷惑メールフォルダに入る
- 正常な取引が止められる
- 問題のない申請が却下される
- 異常ではないのにアラートが大量に出る
といった問題が起きます。
特にアラート系のシステムでは、FP が多すぎると
現場がアラートを信用しなくなることがあります。
そのため、FP は「多少ならよい」と考えられる場合もありますが、
多すぎると実務上かなり困ることがあります。
🚨 FN:False Negative とは?
FN は False Negative の略です。
日本語では、偽陰性 と呼ばれます。
実務では、見逃し と考えると分かりやすいです。
意味
実際は Positive
しかし、モデルは Negative と予測
つまり、本当は問題があるのに、モデルが問題なしと判断してしまった状態です。
例:不正取引検知
実際:不正取引
予測:正常取引
この場合、不正取引を見逃しています。
例:医療診断
実際:疾患あり
予測:疾患なし
この場合、疾患を見逃しているため、非常に重大な問題になる可能性があります。
📌 FN が問題になる場面
FN が多いと、本当に検知すべきものを見逃してしまいます。
例えば、
- 不正取引を見逃す
- 疾患を見逃す
- セキュリティ攻撃を見逃す
- 重要な異常を検知できない
- 解約しそうな顧客を見逃す
といった問題が起きます。
特に、医療診断、不正検知、セキュリティ、異常検知のような領域では、
FN のコストが非常に大きくなることがあります。
🧭 4つの概念をまとめる
TP / TN / FP / FN をまとめると、以下のようになります。
| 指標 | 実際 | 予測 | 意味 |
|---|---|---|---|
| TP | Positive | Positive | 正しく検知 |
| TN | Negative | Negative | 正しく除外 |
| FP | Negative | Positive | 誤検知 |
| FN | Positive | Negative | 見逃し |
覚え方としては、まず以下を押さえると分かりやすいです。
True = 予測が当たっている
False = 予測が外れている
Positive = Positive と予測した
Negative = Negative と予測した
つまり、
False Positive = Positive と予測したが、外れていた
False Negative = Negative と予測したが、外れていた
という理解です。
🧪 例:スパムメール分類で考える
スパムメール分類を例に考えます。
ここでは、
Positive = スパムメール
Negative = 通常メール
とします。
| ケース | 実際 | 予測 | 結果 |
|---|---|---|---|
| 1 | スパム | スパム | TP |
| 2 | 通常メール | 通常メール | TN |
| 3 | 通常メール | スパム | FP |
| 4 | スパム | 通常メール | FN |
この場合、
- FP は、普通のメールをスパム扱いすること
- FN は、スパムメールを見逃すこと
です。
業務上どちらがより問題になるかは、システムの目的によって変わります。
🧪 例:不正取引検知で考える
不正取引検知では、通常以下のように考えます。
Positive = 不正取引
Negative = 正常取引
| ケース | 実際 | 予測 | 結果 |
|---|---|---|---|
| 1 | 不正取引 | 不正取引 | TP |
| 2 | 正常取引 | 正常取引 | TN |
| 3 | 正常取引 | 不正取引 | FP |
| 4 | 不正取引 | 正常取引 | FN |
ここで重要なのは、FP と FN の重さが同じとは限らないことです。
例えば、
- FP:正常な取引を止めてしまう
- FN:不正取引を見逃して損失が出る
という違いがあります。
どちらをより重視するかは、ビジネス要件によって変わります。
☁️ AWS 試験での見られ方
AWS の AI / ML 系試験では、Confusion Matrix は分類モデル評価の基本として出てきます。
特に、次のような流れで理解しておくとよいです。
Confusion Matrix
↓
TP / TN / FP / FN
↓
Accuracy / Precision / Recall
↓
F1 score
例えば、問題文で以下のような表現が出た場合は注意が必要です。
「見逃しを減らしたい」
見逃しは FN です。
FN を減らしたい
という意味になります。
医療診断、不正検知、セキュリティ検知では特に重要です。
「誤検知を減らしたい」
誤検知は FP です。
FP を減らしたい
という意味になります。
正常ユーザーへの影響を減らしたい場合や、アラートを減らしたい場合に重要です。
👨💻 実務目線で見ると
実務では、単に accuracy が高いだけでは十分ではありません。
例えば、不正取引が全体の1%しかないデータを考えます。
このとき、すべてを「正常」と予測するモデルでも、accuracy は 99% になります。
しかし、このモデルは不正取引を1件も見つけていません。
つまり、実務では使い物にならない可能性があります。
このような場合に重要になるのが、
- FP がどれくらいあるか
- FN がどれくらいあるか
- 何を見逃してはいけないのか
- どの誤判定がビジネス上より重いのか
という観点です。
Confusion Matrix は、こうした判断をするための土台になります。
🧠 ここは特に覚えたいポイント
覚え方 1
TP = Positive を正しく Positive と予測
TN = Negative を正しく Negative と予測
覚え方 2
FP = 本当は Negative なのに Positive と予測
= 誤検知
覚え方 3
FN = 本当は Positive なのに Negative と予測
= 見逃し
覚え方 4
True = 当たり
False = 外れ
Positive / Negative = モデルがどう予測したか
✅ まとめ
今回は、分類モデル評価の基本である Confusion Matrix について整理しました。
重要なポイントは以下です。
- Confusion Matrix は、実際の正解とモデル予測を整理する表
- TP は、Positive を正しく Positive と予測した状態
- TN は、Negative を正しく Negative と予測した状態
- FP は、本当は Negative なのに Positive と予測した状態で、誤検知にあたる
- FN は、本当は Positive なのに Negative と予測した状態で、見逃しにあたる
- FP と FN のどちらを重視するかは、ユースケースによって変わる
Confusion Matrix を理解しておくと、
次に学ぶ accuracy、precision、recall、F1 score がかなり分かりやすくなります。
📌 次回予告
次回は、分類モデルの代表的な評価指標である
- accuracy
- precision
- recall
について整理します。
特に、不均衡データでは accuracy だけを見ると危険な場合があるため、
precision と recall の使い分けも含めて分かりやすく整理します。