機械学習評価指標の計算演習

混同行列からPrecision/Recall/F1を電卓なしで素早く計算する訓練。

混同行列からPrecision/Recall/F1/AUCを計算する演習。電卓なしで素早く解くテクニック。

白峰 リリ(しょんぼり) 白峰 リリ

混同行列の計算問題、いっつも公式忘れちゃうんだよね…

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

4つだけ覚えればOKよ。
Accuracy・Precision・Recall・F1の式と意味を、体に染み込ませていきましょう。

■ 混同行列(分類の評価)
                予測:陽性    予測:陰性
  実際:陽性     TP            FN
  実際:陰性     FP            TN

■ 公式(暗記必須)
  Accuracy  = (TP + TN) / 全数
  Precision = TP / (TP + FP)        [予測陽性のうち本物]
  Recall    = TP / (TP + FN)        [本物のうち検出]
  F1        = 2·P·R / (P + R)        [P と R の調和平均]

■ 例題1: 混同行列 TP=40, FP=10, FN=20, TN=130

  Accuracy  = (40+130) / 200 = 170/200 = 0.85
  Precision = 40 / (40+10) = 40/50 = 0.80
  Recall    = 40 / (40+20) = 40/60 ≈ 0.667
  F1        = 2 · 0.80 · 0.667 / (0.80 + 0.667)
            = 1.067 / 1.467 ≈ 0.727

■ 例題2: クラス不均衡データ
  TP=2, FP=3, FN=18, TN=977   (実陽性20件、実陰性980件)

  Accuracy  = (2+977) / 1000 = 0.979   ← 高い!
  Precision = 2 / (2+3) = 0.40
  Recall    = 2 / (2+18) = 0.10        ← 低い!
  F1        = 2·0.40·0.10/(0.40+0.10) = 0.08/0.50 = 0.16

  → 不均衡データだと Accuracy が高くても、Recall や F1 が低い
  → 不均衡データには Accuracy ではなく F1/AUC を見る

■ AUC(参考)
  ROC曲線の下の面積、0.5=ランダム、1.0=完璧
  実用的に 0.7以上、0.9以上で優秀
藍沢 しずく(びっくり) 藍沢 しずく

例題2が衝撃ですぅ…Accuracyが97.9%もあるのに、ほとんど検出できてないんですねぇ。

紅林 かえで(普段) 紅林 かえで

そう、これが不均衡データの典型例ですね。
補足すると、病気判定・詐欺検知・異常検出では、AccuracyではなくRecallやF1を主指標にするのが鉄則です。

白峰 リリ(普段) 白峰 リリ

計算ミスを防ぐコツってある?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

3つあるわ。
(1)P+Rで分母、2PRで分子、と機械的に覚える、(2)分数のまま計算する、(3)公式の意味を確認する(P=分母にFP・FN無、R=分母にFP無)、ということね。

紅林 かえで(普段) 紅林 かえで

DS検定★では混同行列の計算が必出です。
30秒以内に4指標すべてを計算できる速度を目指しましょう。

確認クイズ

混同行列 TP=80, FP=20, FN=10, TN=90 のときF1スコアはいくらか(小数第二位まで)。

  1. 0.80
  2. 0.84
  3. 0.89
  4. 0.95
こたえを見る

正解: 2. 0.84

0.84。 Precision=80/100=0.80、 Recall=80/90≈0.889、 F1=2×0.80×0.889/(0.80+0.889)=1.422/1.689≈0.842。 計算は分数のまま進めると正確です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。