mits58のメモ

メモ 参考にしないでください

ROCとAUCについて

下記を読んだ。メモ。

www.randpy.tokyo

 

  • 偽陽性率 : 本当は負例だけど、間違って正って予測しちゃったものの、負例データに対する割合
  • 真陽性率 : 本当は正例で、正しく正例と予測したものの、正例データに対する割合

感覚的には

  • 偽陽性率 : 実はガンの人の中で、「お前大丈夫やでw」と診断された人の割合
  • 真陽性率 : 実はガンではない人の中で、「お前大丈夫やでw」と診断された人の割合

みたいな(わかりにくい)

What's the ROC curve?

偽陽性率を横軸、真陽性率を縦軸においてプロットしたもの

  • 2値分類問題で、なんかのスコアを出して、その閾値より上か?下か?でわけることを考える
  • んで、その閾値をminからmaxまで変えていくと色々な(偽陽性率, 偽陰性率)のペアができます
  • これをプロットしたもの

これっていうのは、しきい値を大きい値から下げていくと、偽陽性も真陽性も大きくなる  = なんでもかんでも正と判定することになるので、大丈夫な人の中で「お前ガンじゃないでw」って言われる人の確率も増えるんだけど、本当はガンの人にも「お前ガンじゃないでw」って言われる人の確率も増えてしまう。

だから大事なのは

  • 間違った判定を小さくする(偽陽性率が小さい)
  • 本当に大丈夫な人を大丈夫と判定する(真陽性率が高い)

モデル

ってことは、ROC曲線がぐいっと左上に曲がってるモデルの方がよい

Why? : 偽陽性率が小さいのに真陽性率が高くなってるから

 

ぐいっと曲がってるってどう判断するねん…… : AUC

  • AUCはROC曲線とx軸とy軸で囲まれた右下部分の面積の値になる
  • ランダムに選んだときは0.5になるので、それより大きいとアドって感じ 1に近いほどよい