概要
分類モデルの評価関数の閾値を色々と変えて、縦軸に適合度 $P$(Precision)、横軸に再現率 $R$(Recall)を取ってプロットした曲線。
モデルの性能を評価する際に用いられる。
- 適合度 $P$:モデルが陽性と判定したうち、実際に陽性である割合
- 再現率 $R$:実際に陽性であるもののうち、モデルが陽性と判定した割合
PR 曲線の描画
使用したデータ:
- 横軸:モデルによる予測ラベル(確率)
- 縦軸:データの度数
- 正解ラベルの陽性・陰性それぞれについて度数分布を描画
これを元に描いた PR 曲線:
PR 曲線の見方
定性的な理解
グラフのカーブが右上にある(= 再現率が上がっても適合率が下がりにくい)ほど良いモデルであると言える。
- 複数のモデルの PR 曲線を比較し、最も良いモデルを選ぶ
- 選んだモデルにおいてどの閾値を適用するか? → ビジネス要求に合う閾値を選ぶ
- 適合率重視(= 偽陽性が少ないことを重視)
- 再現率重視(= 偽陽性が多少混じってでも、正解を取りこぼさないことを重視)
- 程良く適合率・再現率のバランスを取りたい
- etc…
PR-AUC
PR 曲線の下部の面積(Area Under the Curve)。 グラフのカーブが右上に寄っているほど PR-AUC は大きくなるので、PR-AUC が大きいほど良いモデルと評価できる。
ROC 曲線と PR 曲線の使い分け
PR 曲線と同様に機械学習モデルの評価に使うグラフに ROC 曲線がある。
- ROC曲線を使うと良いケース
- 正例と負例のデータ数が同程度なデータセットを用いる場合
- PR 曲線を使うと良いケース
- 正例と負例のデータ数が不均衡なデータセットを用いる場合
具体例として、以下の2つのケースを考える。
具体例1:Positive (P) と Negative (N) の正解数が同じで N の判別能力が低いモデルの場合
予測 = P | 予測 = N | |
---|---|---|
正解 = P | TP:90 | FN:10 |
正解 = N | FP:40 | TN:60 |
- ROC 曲線のパラメータ
- TPR = 0.90
- FPR = 0.40
- PR 曲線のパラメータ
- Recall = 0.90
- Precision = 0.69
具体例2:Positive (P) より Negative (N) の正解数が極端に多い場合
予測 = P | 予測 = N | |
---|---|---|
正解 = P | TP:90 | FN:10 |
正解 = N | FP:100 | TN:900 |
- ROC 曲線のパラメータ
- TPR = 0.90
- FPR = 0.10
- PR 曲線のパラメータ
- Recall = 0.90
- Precision = 0.47
→ ROC 曲線を使うと、Precision が低いことが捉えられず、結果が良く見えてしまう。