前回の「分析モデル評価:Accuracy が正しくない時」で割愛した ROC 曲線を、そして次回は「Lift Curve(リフト曲線)」を取り上げる。毎度のことながら、統計学的やデータ分析的にはもっと詳細に記述すべきだが、直感的な理解を優先させて厳密な説明は省いている面もあります、ご了承下さい。
ROC曲線:二項分類の性能描写
ROC曲線とは、binary classifier の性能を描写するグラフ。
Binary classification(二項分類)
ある分類規則に従って二つのグループに分類すること(特定の疾病に罹患しているか否か、製品の品質が出荷規定を満たしているか否か、など)
ROC 曲線の x 軸は False Negative 率(誤ってnegative とした割合)、y 軸は True Positive 率(正しく positive とした割合)。
それらの割合は、次の Confusion Matrix で算出する。
True Positive率 = True Positives / (True Positives + False Positives)
False Negative率 = False Negatives / (True Negatives + False Negatives)
「独立性と条件付き確率」に書いたように、Confusion Matrix の Positives 列と 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 だと x 軸に伸びる。つまり、序盤に p が続くほどモデルの予測は正確で、その曲線は y 軸に偏ったものとなる。
To construct the curve, start at the bottom with an initial confusion matrix where everything is classified as N.
原点から傾き 1 の直線は「ランダム予測」で、positive の正誤が交互になっていると解釈する。つまり、モデルの予測精度が高いほど「ランダム予測の直線より y 軸方向に偏った曲線」となる。
別の簡潔な例を示す。以下のように、あるテストの成績順と実際の分類がある
成績:90, 85, 75, 74,...., 50, 49, ....
分類:1, 1, 0, 1, ...., 1, 0, ....
分類の 1, 1, 0, 1, ...., 1, 0, .... を使って、1 の場合は y 軸へ、0 の場合は x 軸へ」という具合に ROC 曲線が描かれる。
「Lift Curve(リフト曲線)」に続く。



0 件のコメント:
コメントを投稿