1行定義
混同行列とは、分類モデルの予測結果を、実際のクラスと予測したクラスの組み合わせごとに件数で数えて並べた表のことです。
くわしく
混同行列は、分類モデルがどのクラスをどのクラスと取り違えた(混同した)かを一覧にする表です。正解率のような1つの数値だけでは見えない、誤りの中身がわかります。
2クラス分類の4つのマス
迷惑メールの判定を例にします。見つけたいほうのクラス(迷惑メール)を陽性、もう一方(通常のメール)を陰性とします。予測結果は次の4つに分かれます。
- 真陽性(TP):迷惑メールを、迷惑メールと予測した
- 偽陰性(FN):迷惑メールを、通常のメールと予測した(見逃し)
- 偽陽性(FP):通常のメールを、迷惑メールと予測した(誤検知)
- 真陰性(TN):通常のメールを、通常のメールと予測した
後ろの「陽性・陰性」はモデルがどちらと予測したかを、前の「真・偽」はその予測が当たったかどうかを表します。この読み方を押さえると、4つの名前を取り違えにくくなります。
評価指標との関係
主な評価指標は、この4つの件数から計算します。
正解率 = (TP + TN) / 全件数適合率 = TP / (TP + FP):陽性と予測したもののうち、実際に陽性だった割合再現率 = TP / (TP + FN):実際の陽性のうち、陽性と予測できた割合
ROC曲線の縦軸にとる真陽性率は再現率と同じもので、横軸にとる偽陽性率はFP / (FP + TN)です。
読むときの注意
陽性が全体の1%しかないデータでは、すべてを陰性と予測しても正解率は99%になります。混同行列を見れば、陽性を1件も見つけていないことがすぐにわかります。
行と列のどちらを実際のクラスにするかは、資料やツールによって異なります。たとえばscikit-learnでは、行が実際のクラス、列が予測したクラスです。表を読むときは、軸の見出しを確認します。3クラス以上の分類では、クラス数と同じ行数・列数の表になり、対角線上のマスが正しく分類された件数を表します。
覚え方
「後ろの陽性・陰性は予測、前の真・偽はその当否」と覚えます。
G検定での出題
出題のされ方
真陽性・偽陽性・偽陰性・真陰性の各マスの意味と、そこから正解率・適合率・再現率・F値を計算させる形や、不均衡なデータでの正解率の限界が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
混同行列の行と列のどちらを実際のクラスにするかは資料やツールによって異なるため、軸の見出しを確認して読む必要がある。
答えを見る
答え ◯ 正しい
たとえばscikit-learnでは行が実際のクラス、列が予測したクラスですが、逆の配置の資料もあります。
-
偽陰性(FN)とは、実際には陰性のデータを、モデルが陽性と予測したものである。
答えを見る
答え × 誤り
それは偽陽性(FP)です。偽陰性は、実際には陽性のデータを陰性と予測した見逃しを指します。
-
3クラスの分類問題では、混同行列は3行3列の表になり、対角線上のマスが正しく分類された件数を表す。
答えを見る
答え ◯ 正しい
対角線以外のマスを見ると、どのクラスとどのクラスを取り違えやすいかがわかります。