2015年8月28日金曜日

ROC Curve(ROC曲線)

次のグラフは、 Foster Provost, Tom Fawcett Data Science for Business の「第 Visualizing Model Performance」からで、モデル から D の ROC 曲線。

前回の「分析モデル評価:Accuracy が正しくない時」で割愛した ROC 曲線を、そして次回は「Lift Curve(リフト曲線)」を取り上げる。毎度のことながら、統計学的やデータ分析的にはもっと詳細に記述すべきだが、直感的な理解を優先させて厳密な説明は省いている面もあります、ご了承下さい。


ROC曲線:二項分類の性能描写

ROC曲線とは、binary classifier の性能を描写するグラフ。

Binary classification(二項分類)
ある分類規則に従って二つのグループに分類すること(特定の疾病に罹患しているか否か、製品の品質が出荷規定を満たしているか否か、など)

ROC 曲線の 軸は False Negative 率(誤ってnegative とした割合)、軸は True Positive 率(正しく positive とした割合)。

それらの割合は、次の Confusion Matrix で算出する。
 True Positive率 = True Positives / (True Positives + False Positives)
 False Negative率 = False Negatives / (True Negatives + False Negatives)

独立性と条件付き確率」に書いたように、Confusion MatrixPositives 列と Negatives 列は「列ごとに独立」であり、列の一つの率(例えば、True Positive 率 や False Negative 率)が分かれば、全部の確率を示したことになる。例えば「False Positives率 = 1 - True Positive率」のように。

具体的にこの曲線の作られ方を示す。
ここにある Figure 8-5 の解説の通りだが、少し噛み砕いて説明する。

これは 100 個の positive と 100 個の negative のサンプルデータから、positive を判別したデータ分析モデルの ROC 曲線。200 個の Instance をモデルが「positive と Score を算出して評価」したもの。ここでは Score とは 0.99 から始まる値で「高いほどより positive と判断」と解釈する。

上のグラフでは Score の高い順に曲線が描かれている。Class とは実際の positive と negative 分類結果で、p だと y 軸方向に曲線が伸びて、n だと 軸に伸びる。つまり、序盤に p が続くほどモデルの予測は正確で、その曲線は 軸に偏ったものとなる

To construct the curve, start at the bottom with an initial confusion matrix where everything is classified as N.

原点から傾き の直線は「ランダム予測」で、positive の正誤が交互になっていると解釈する。つまり、モデルの予測精度が高いほど「ランダム予測の直線より y  軸方向に偏った曲線」となる。

別の簡潔な例を示す。以下のように、あるテストの成績順と実際の分類がある

 成績:90, 85, 75, 74,...., 50, 49, ....
 分類:1, 1, 0, 1, ...., 1, 0, ....

分類の 1, 1, 0, 1, ...., 1, 0, .... を使って、の場合は 軸へ、の場合は 軸へ」という具合に ROC 曲線が描かれる。


Lift Curve(リフト曲線)」に続く。

0 件のコメント:

コメントを投稿