混同行列(confusion matrix) is 何?
-
シンプルに言う
- 2値分類問題に対する予測モデルの評価で使用する行列
-
ちょっと詳しく
- 機械学習分野(特に統計的分類)の問題において、アルゴリズムの性能を可視化するための表現方法
- 通常は教師あり学習で利用される
-
2つの次元(「実際」と「予測」)
x2つ以上のクラスのセット
で構成される
-
別名
- 誤差行列(error matrix)
-
こんなやつ
Predicted Values Positive Negative Actual Values Positive True Positive: TP False Negative:FN Negative False Positive: FP True Negative:TN - (True|False) (Positive/Negative)の覚え方:
予測結果をベースに考える
- True Positive:「予測結果がPositiveと出て、実際の値もPositive」
- False Positive:「予測結果がPositiveと出たが、実際の値はNegative」
- False Negative:「予測結果がNegativeと出たが、実際の値はPositive」
- True Negative:「予測結果がNegativeと出て、実際の値もNegative」
- (True|False) (Positive/Negative)の覚え方:
-
具体的な例
-
状況
- 10枚の画像のうち、犬が写っているものを判定する
- 実際に犬が写っているのは、10枚のうち5枚のみ
-
実際の状態と予測の結果は下記のようになった
# 実際 予測 0001.jpg 0002.jpg ◯ 0003.jpg ◯ ◯ 0004.jpg ◯ 0005.jpg ◯ ◯ 0006.jpg 0007.jpg ◯ ◯ 0008.jpg ◯ 0009.jpg 0010.jpg ◯ ◯ - まとめると
- 予測:◯、実際:◯ = 4
- 予測:◯、実際:× = 2
- 予測:×、実際:◯ = 1
- 予測:×、実際:× = 3
- まとめると
-
上記の結果を混合行列で表す
Predicted Values Positive Negative Actual Values Positive 4 1 Negative 2 3
-
評価指標
- confusion matrixから導かれる指標が色々ある
- 正解率(Binary Accuracy)
- 精度・適合率(Precision) / 陽性反応適中度(positive predictive value)
- 再現率(Recall) / 感度(Sensitivity)
- 陰性的中率(Negative predictive value)
- 特異度(Specificity)
- F1値(F-measure/F-Score)
- F-βスコア(F-beta Score)
- マシューズ相関係数(Matthews Correlation Coefficient)
- ファイ係数(Phi coefficient)
- バランス正解率(Balanced Accuracy)
正解率(Binary Accuracy)
- すべてのデータのうち、正しく予測できたものの割合
- 算出方法
- 正解率 = $\frac{TP + TN}{TP + TN + FP + FN}$
- 問題点
- データがPositive/Negativeのどちらかに偏っている場合、機能しなくなってしまう
精度・適合率(Precision) / 陽性反応適中度(positive predictive value)
- Positiveと予測したものが、実際にPositiveであった割合
- 算出方法
- 適合率 = $\frac{TP}{TP + FP}$
- 問題点
- Positiveと判定する基準を厳しくすれば、数値が高く出てしまう
再現率(Recall) / 感度(Sensitivity)
- 実際にPositiveであるものを、Positiveと予測できた割合
- 算出方法
- 再現率 = $\frac{TP}{TP + FN}$
- 問題点
- Positiveと判定する基準を緩くすれば、数値が高く出てしまう
- つまり、適合率と再現率はトレードオフの関係にある。
- 理想は、適合率も再現率も高いモデル
- 後述の「F1値(F-measure/F-Score)」参照
- Positiveと判定する基準を緩くすれば、数値が高く出てしまう
精度と再現率、どっちがどっち??
医療:再現率を重視
マーケ:精度を重視
医療
実際に重病である患者を、もれなく「重病かもしれない」と予測できるモデルが良い
その後、精密検査が実施される、といった運用
マーケ
購買に至るだろうと予測された顧客が、実際に購買に至っているモデルが良い
購買に至ると予測された顧客へ、ダイレクトメールを送る、といった運用
施策効率、オプトアウトリスク回避
陰性的中率(Negative predictive value)
- Negativeと予測したものが、実際にNegativeであった割合
- 算出方法
- 適合率 = $\frac{TN}{TN + FN}$
- 問題点
- Positiveと判定する基準を緩くすれば、数値が高く出てしまう
特異度(Specificity)
- 実際にNegativeであるものを、Negativeと予測できた割合
- 算出方法
- 再現率 = $\frac{TN}{TN + FP}$
- 問題点
- Positiveと判定する基準を厳しくすれば、数値が高く出てしまう
- つまり、陰性的中率と特異度はトレードオフの関係にある。
- Positiveと判定する基準を厳しくすれば、数値が高く出てしまう
F1値(F-measure/F-Score)
- 精度と感度の2つの評価指標を考慮した指標
- 算出式
- F1値 = $2 \times \frac {Presition \times Sensitivity}{Presition + Sensitivity}$
- 説明
- 精度、感度がともに1の場合、F1値は1(最大)になる
- 精度、感度のどちらかが0の場合、F1値は0(最小)になる
- 別名
- F値
- F1スコア
F-βスコア(F-beta Score)
- F1値について、精度と感度のどちらを重視するのかを調整できるようにした指標
- βの値を調整することで
- $β = 1$ : F1スコア
- $β > 1$ : 感度を重視
- $β < 1$ : 精度を重視
- $β = 0$ : 感度のみを考慮
- 算出式
- F-βスコア = $(1 + β^{2}) \times \frac{Presiont \times Sensitivity }{β^{2} \times Presition + Sensitivity }$
- 解説
- F1値の「1」は、β = 1であることを表している
- β = 2であれば、F2値。
- F1値の「1」は、β = 1であることを表している
マシューズ相関係数(Matthews Correlation Coefficient)
- 算出式
- マシューズ相関係数 = $\frac{(TP \times TN) - (FP \times FN)}{\sqrt{(TP + FP)(TP + FN)(TN + FP)(TN + FN)}}$
- 先のConfusionMatrixを、ピアソンの積率相関係数に当てはめたもの
ファイ係数(Phi coefficient)
- 勉強中(未着手)
バランス正解率(Balanced Accuracy)
- 勉強中(未着手)