混同行列とは

こんどうぎょうれつconfusion matrix

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値を計算させる形や、不均衡なデータでの正解率の限界が問われます。

◯×チェック

  1. 混同行列の行と列のどちらを実際のクラスにするかは資料やツールによって異なるため、軸の見出しを確認して読む必要がある。

    答えを見る

    答え ◯ 正しい

    たとえばscikit-learnでは行が実際のクラス、列が予測したクラスですが、逆の配置の資料もあります。

  2. 偽陰性(FN)とは、実際には陰性のデータを、モデルが陽性と予測したものである。

    答えを見る

    答え × 誤り

    それは偽陽性(FP)です。偽陰性は、実際には陽性のデータを陰性と予測した見逃しを指します。

  3. 3クラスの分類問題では、混同行列は3行3列の表になり、対角線上のマスが正しく分類された件数を表す。

    答えを見る

    答え ◯ 正しい

    対角線以外のマスを見ると、どのクラスとどのクラスを取り違えやすいかがわかります。

練習問題

混同行列の問題(9問)
  1. スパムフィルタの機械学習化
  2. 適合率・再現率・F値の計算
  3. ROC曲線とAUCの読み方
  4. 業務に応じた評価指標の選択
  5. AUCと運用条件でのモデル比較
  6. 混同行列とROC曲線上の点
  7. 偽陽性と偽陰性の見分け
  8. AIの誤りを前提とした業務設計
  9. 公平性の定義と指標の計算

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術10

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習