ROC曲線を理解する


57

ROC曲線を理解できません。

トレーニングセットの一意の各サブセットから異なるモデルを構築し、それを使用して確率を生成すると、ROC曲線の下の領域に利点/改善がありますか?たとえば、値有する、及びIは、モデル構築使用しての第1〜4の値からのと8-9値残りの列車データを使用してモデルを構築します。最後に、確率を生成します。どんな考え/コメントも大歓迎です。y{a,a,a,a,b,b,b,b}AayyB

ここに私の質問のより良い説明のためのrコードがあります:

Y    = factor(0,0,0,0,1,1,1,1)
X    = matirx(rnorm(16,8,2))
ind  = c(1,4,8,9)
ind2 = -ind

mod_A    = rpart(Y[ind]~X[ind,])
mod_B    = rpart(Y[-ind]~X[-ind,])
mod_full = rpart(Y~X)

pred = numeric(8)
pred_combine[ind]  = predict(mod_A,type='prob')
pred_combine[-ind] = predict(mod_B,type='prob')
pred_full          = predict(mod_full, type='prob')

私の質問は、pred_combine対ROC曲線下の面積pred_fullです。


3
より良い例は、質問を改善するために多くを行います。
mpiktas 14

私の理解では、特定のサンプルを選択してAUCを増やしたいということですか?それがあなたの目的であるなら、少なくともあなたの目的が分類性能のための良い尺度を見つけることであるならば、私は偏ったサンプル選択のこのアプローチは完全に間違っていると強く信じています。
ラパイオ14

回答:


174

質問を受け取ったかどうかはわかりませんが、タイトルではROC曲線の説明を求められているため、試してみます。

ROC曲線は、分類器がポジティブな例とネガティブな例を区別できる程度を確認し、それらを分離するための最適なしきい値を識別するために使用されます。

ROC曲線を使用できるようにするには、分類子がランク付けされている必要があります。つまり、ランクが高いものほどポジティブになる可能性が高いように例をランク付けできる必要があります。たとえば、ロジスティック回帰は確率を出力します。これは、ランク付けに使用できるスコアです。

ROC曲線の描画

データセットとランキング分類子が与えられた場合:

  • スコアの高い順にテスト例を並べます
  • 開始(0,0)
  • ソートされた順序の 各例x
    • が正の場合、上に移動し1 / posx1/pos
    • が負の場合、右に移動し1 /否定x1/neg

ここで、およびはそれぞれ正例と負例の分数です。negposneg

この素敵なgifアニメーション画像は、このプロセスをより明確に示しているはずです。

曲線を作成する

このグラフでは、軸は真陽性率であり、軸は偽陽性率です。対角線に注意してください-これはベースラインであり、ランダムな分類器で取得できます。ROC曲線が線の上にあるほど、より良い結果が得られます。xyx

ROCの下のエリア

rocの下のエリア

ROC曲線の下の領域(影付き)は、曲線がベースラインからどれだけ離れているかを自然に示しています。ベースラインの場合は0.5、完全な分類子の場合は1です。

この質問でAUC ROCの詳細を読むことができます。AUCの略語とその意味は何ですか?

最適なしきい値の選択

最適なしきい値を選択するプロセスの概要を簡単に説明します。詳細についてはリファレンスをご覧ください。

最適なしきい値を選択するには、ROC曲線の各ポイントを個別の分類子として表示します。このミニ分類子は、ポイントが+と-の境界として得たスコアを使用します(つまり、現在のポイントより上のすべてのポイントを+として分類します)

データセットのpos / negの割合に応じて-50%/ 50%の場合はベースラインと並行して-ISO精度ラインを作成し、最高精度のラインを取得します。

これを説明する写真を次に示します。詳細については、再度参照してください

最適なしきい値を選択する

参照


素晴らしいコメントをありがとう!私はあなたの答えをupvote couldntの:(私は15以上の評判を持っている必要がありそうな、申し訳ありません
テイ新を

好奇心が強いですが、ステップサイズは、分類器によって生成される正/負のラベルの数に依存する必要がありますか?すなわち、gifでは、上向きのステップサイズは.1です。余分な正のラベル(負のラベルの代わり)がある場合、「曲線」は垂直軸で1.1になります(または、何かが欠けている可能性があります) ?)。では、その場合、ステップサイズを小さくする必要がありますか?
-kyphos

いいえ、ステップサイズは、分類器の精度ではなく、データセット内の正/負の例の数に依存します。
アレクセイ・グリゴレフ

2
@gung理解しました。Alexey:ポジティブな例とネガティブな例ではなく、真のポジティブと偽のポジティブだと思う。私の答えの版を見ることができるかもしれません。ありがとう
Escachator

3
@AlexeyGrigorev、あなたからの返信が大好きで投票してください。ROCの定義が2つあるかどうかはわかりません。ここでROCの定義(en.wikipedia.org/wiki/Receiver_operating_characteristic)を参照していますが、x軸は誤検知率である必要があります。負)、私は参照で、私はx軸が(総負の数)を考慮しない偽陽性率を描いていないと思いますか?
林馬
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.