ROC曲線の利点


15

ROC曲線の利点は何ですか?

たとえば、バイナリ分類の問題であるいくつかの画像を分類しています。約500個のフィーチャを抽出し、フィーチャ選択アルゴリズムを適用してフィーチャセットを選択し、SVMを分類に適用しました。この場合、どのようにしてROC曲線を取得できますか?特徴選択アルゴリズムのしきい値を変更し、出力の感度と特異度を取得してROC曲線を描画する必要がありますか?

私の場合、ROC曲線を作成する目的は何ですか?


2
Tom Fawcettによる「ROC分析入門」は、ROC曲線をよりよく理解するのに役立ちました。このトピックに関する追加の資料を探している場合は、この機能をお楽しみください。
アレクサンダー

さて、2つの分類子を比較するにはどうしますか?しきい値を使用して、ニーザーの特異性と感度が非常に密接に一致する場合、ROCの詳細を調べずに比較するのは簡単ではないと思います。
マイケルR.チャーニック

分類子を開発することはめったに適切ではなく、分類エラーは不適切なスコアリングルールです。真の予測の品質を比較するための多くの強力な方法があり、ROC曲線よりも直感的です。たとえば、これを参照してください。
フランクハレル

回答:


13

多くのバイナリ分類アルゴリズムは、一種の分類スコアを計算し(常にではありませんが、これはターゲット状態になる確率です)、スコアが特定のしきい値を超えているかどうかに基づいて分類します。ROC曲線を表示すると、モデリング手法によって選択されたしきい値だけでなく、考えられるすべてのしきい値の感度と特異性のトレードオフを確認できます。分類の目的が異なると、曲線上の1つのポイントが1つのタスクにより適したものになり、別の分類目標が別のタスクにより適したものになる可能性があります。


返信してくれてありがとう。本当に便利です。ROC曲線に基づいて、とにかくしきい値を決定する方法はありますか?そして、私の場合、感度= 100%または特異度= 100%のROC空間でポイントを取得するにはどうすればよいですか。機能選択アルゴリズムのしきい値を変更しているためです。
user570593

1
ROC曲線は、考えられるすべてのしきい値で感度と特異性を示しているため、適切なトレードオフを表すポイントが見つかった場合は、曲線上のそのポイントに合うしきい値を選択できます。
マイケル

適切なトレードオフを自動的に選択する方法はありますか、それとも自分でトレードオフを選択する必要がありますか?そして、私の場合、感度= 100%または特異度= 100%のROC空間でポイントを取得するにはどうすればよいですか。機能選択アルゴリズムのしきい値を変更しているためです。
user570593

2
明確に定義された基準(精度の最大化など)がある場合は、これを自動化できます。しかし、ある問題に対する良いトレードオフは、別の問題にはひどいかもしれません。
マイケルマク

2
しきい値を最小値または最大値に設定することで、100%の感度または特異度を簡単に取得できます。
マイケル

11

ROC曲線は、過去数年間に見た99%のケースでは有益ではありません。彼らは多くの統計学者やさらに多くの機械学習の実践者によって義務付けられていると考えられているようです。そして、あなたの問題が本当にリスクの問題ではなく分類の問題であることを確認してください。ROC曲線の問題の中心にあるのは、連続変数にカットポイントを使用するようにユーザーを招待し、逆方向の確率、つまり逆の時間順序(感度と特異度)にあるイベントの確率を使用することです。ROC曲線を使用して最適なトレードオフを見つけることはできません。ただし、決定規則のユーザーがアナリストに損失(コスト、ユーティリティ)機能を放棄する非常に特別な場合を除きます。


私はフランクに完全に同意しません。ROCのAUCの使用はしばしば問題だと思います。しかし、定性的には、アルゴリズムを比較すると役立つと思います。単一のポイントで特異性と感度を見るだけでは、それほど有益ではありません。また、OPが99%の非有益なケースまたは1%が情報に影響する理由に該当する理由をOPが本当に知りたいので、彼の答えが本当に質問に答えているかどうかはわかりません。
マイケルR.チャーニック

R2

R2

1
@FrankHarrellしかし、2つのアルゴリズムが特異性と感度の両方で非常に厳密に一致しない場合、どのように比較しますか?
マイケルR.チャーニック

7
R2χ2R2

1

ROC曲線を作成した後、AUC(曲線下面積)を計算できます。AUCは、多くのしきい値にわたるテストの精度です。AUC = 1は、テストが完全であることを意味します。AUC = .5は、バイナリ分類の機会に実行することを意味します。

複数のモデルがある場合、AUCは異なるモデル間で比較する単一の測定を提供します。単一の測定値には常にトレードオフがありますが、AUCは開始するのに適した場所です。


1
YcDxy

0

AUCは、実クラスと予測クラスを相互に比較しません。予測されたクラスではなく、予測スコアまたは確率を見ています。このスコアにカットオフを適用することで、クラスの予測を行うことができます。たとえば、スコアが0.5未満のサンプルはすべて負として分類されます。しかし、ROCはそれが起こる前にやって来ます。スコア/クラス確率で動作しています。

これらのスコアを取得し、そのスコアに従ってすべてのサンプルをソートします。これで、陽性サンプルが見つかると、ROC曲線は(y軸に沿って)ステップアップします。ネガティブサンプルを見つけるたびに、(x軸に沿って)右に移動します。そのスコアが2つのクラスで異なる場合、正のサンプルが最初に来ます(通常)。つまり、右側よりも多くのステップを実行します。リストのさらに下には、負のサンプルが来るので、左に移動します。サンプルのリスト全体を参照すると、正のサンプルの100%と負のサンプルの100%に対応する座標(1,1)に到達します。

スコアがポジティブサンプルとネガティブサンプルを完全に分離している場合、(x = 0、y = 0)から(1,0)に移動し、そこから(1、1)に移動します。したがって、曲線の下の面積は1です。

スコアが正と負のサンプルで同じ分布を持っている場合、ソートされたリストで正または負のサンプルを見つける確率は等しいため、ROC曲線で上または左に移動する確率は等しくなります。これが、対角線に沿って移動する理由です。これは、本質的に上下左右に移動するためです。これにより、AROC値は約0.5になります。

不均衡なデータセットの場合、ステップサイズは異なります。したがって、左側に小さなステップを作成します(ネガティブサンプルが多い場合)。それが、スコアが不均衡から多少独立している理由です。

ROC曲線を使用すると、サンプルの分離方法を視覚化でき、曲線下の領域は、バイナリ分類アルゴリズムまたはクラスを分離するために使用される変数のパフォーマンスを測定するための非常に優れたメトリックになります。

ここに画像の説明を入力してください

図は、サンプルサイズが異なる同じ分布を示しています。黒い領域は、陽性サンプルと陰性サンプルのランダムな混合のROC曲線が予想される場所を示しています。


これらのグラフは洞察を提供せず、非常に高いインク:情報比IMHOを持っています。適切な精度スコアを守るfharrell.com/post/class-damage fharrell.com/post/addvalue
フランクハレル

これらのグラフには、単一の1次元精度スコアよりも多くの情報があります。同じスコアが多くの異なる分布から得られます。早期に認知されていますか?動作が異なる複数の陽性サンプルのクラスがありますか?結果は統計的に有意ですか?これらのすべての質問は、それらのグラフを見ると明らかに答えることができ、単一の精度スコアでは対処できません。
ソレン

消費者とアナリストが、予測値を示す高解像度のヒストグラムが重ね合わされた検量線を表示するのと同じくらい直感的なこれらの曲線から洞察を得ることができるかを真剣に疑問に思っています。また、ROC曲線の各ポイントは、不適切な精度スコアです。
フランクハレル

初心者はこれらの曲線を理解するのに苦労することがよくあります。したがって、製品を宣伝するために消費者に表示することを必ずしもお勧めしません。そこにはもっと単純なものが欲しいと思う。ただし、曲線は個々のポイントよりも多くなっています。
ソレン・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.