機械学習の分野、特に統計的分類の問題において、混同行列(こんどうぎょうれつ、英: confusion matrix)は、アルゴリズムの性能を可視化するための特有の表配置である。誤差行列(英: error matrix)とも呼ばれる。通常は教師あり学習で使用される(教師なし学習では通常、マッチング行列と呼ばれる)。行列の行方向は実際のクラス(部分集合)のインスタンス(実体)を表し、列方向はモデルで予測されたクラスのインスタンスを表す[1]が、その逆の場合もある[2]。
これは特別な種類の分割表で、2つの次元(「実際」と「予測」)と、両方の次元で同一の「クラス」のセットからなる(次元とクラスの各組み合わせは分割表の変数である)。
例として、ネコの写真が8枚、イヌの写真が4枚の計12枚の写真がサンプルとして与えられ、ネコがクラス1に、イヌがクラス0に属するとする。
この例では、正解となる実際の値を
実際 = [1,1,1,1,1,1,1,1,0,0,0,0] と表示することができる。
ここで、ネコとイヌを区別する分類器で学習したと仮定して、この12枚の写真を分類器にかける。この分類器は9つの写真で正確な予測を行い、以下の3つの予測を外したとする。
予測結果 = [0,0,1,1,1,1,1,1,0,0,0,1]
この予測結果では以下のことがわかる。
この2つのラベル付きのデータセット(実際と予測)を使って、分類器で予測した結果をまとめた混同行列は以下の通りとなる。
予測 実際
|
ネコ | イヌ |
---|---|---|
ネコ | 6 | 2 |
イヌ | 1 | 3 |
この混同行列では、8枚のネコの写真のうち、2枚をイヌと判断し、4枚のイヌの写真のうち、1枚をネコと予測している。正しい予測ができた数が表の対角線上に位置しており(太字で表示)、対角線から外れた部分に誤判定の数を表示している[2]。 混同行列により、分類結果を簡単かつ視覚的に表すことが可能である[3]。
予測分析において、混同表(混同行列と呼ばれることもある)とは、2行2列の表で、真陽性、真陰性、偽陽性、偽陰性の数を表したものである。これにより、単なる正しい分類の割合(精度)だけでなく、より詳細な分析が可能になる。精度は、データセットが不均衡な場合、つまり、異なるクラスの観測数が大きく異なる場合、誤解を招く結果をもたらす。例えば、上記の例で極端に猫と犬の割合を変えて、猫が95匹、犬が5匹で分類をした場合、分類器によってはすべての予測を猫として分類するかもしれない。その場合、全体の精度は95% (95/100) となる。しかし、詳細を確認してみると、その分類器は猫クラスの認識率(感度)は100%だが、犬クラスの認識率は0%である。なお、F1スコアはこのような例では低くなり97.4%以上となる。Davide ChiccoとGiuseppe Jurmanによると、混同行列を評価するための最も有益な指標は、マシューズ相関係数(MCC)である[4]。
一般的な混同行列は以下のように表記される。
予測クラス 実際クラス
|
Positive | Negative |
---|---|---|
Positive | 真陽性 (TP) | 偽陰性 (FN) |
Negative | 偽陽性 (FP) | 真陰性 (TN) |
上記のネコの写真の分類器の例における混同行列は次のようになる。
予測クラス 実際クラス
|
ネコ | ネコ以外 |
---|---|---|
ネコ | 6 真陽性 (TP) | 2 偽陰性 (FN) |
ネコ以外 | 1 偽陽性 (FP) | 3 真陰性 (TN) |
混同行列は二値分類に限らず、3つ以上の分類でも利用できる[5]。以下の例は、2者間の口笛言語によるコミュニケーションをまとめたもので、母音5種類のクロス表である。わかりやすさのため、0を省略している[6]。
知覚された 母音 発音した
母音 |
i | e | a | o | u |
---|---|---|---|---|---|
i | 15 | 1 | |||
e | 1 | 1 | |||
a | 79 | 5 | |||
o | 4 | 15 | 3 | ||
u | 2 | 2 |