正と負のラベルが付けられた2つの非常に不均衡なデータセットがあり、最大95%の真陽性率(および継承的に5%の偽陰性率)と約99.5%の真陰性率(約99.5%の真陰性率)を生成する混同行列を生成できます。 0.5%の偽陽性率)。
私がROCグラフを作成しようとしている問題は、x軸が0.1の間隔で0から1の範囲にないことです。代わりに、偽陽性率が非常に低い場合、0から0.04のような範囲になります。
なぜこれが起こるのかについての洞察はありますか?
ありがとう
ROCグラフでは、2つの軸は偽陽性率(F)と真陽性率(T)です。Tは、正のデータ項目が与えられた場合に、アルゴリズムがそれを正として分類する確率です。Fは、負のデータ項目が与えられた場合に、アルゴリズムがそれを誤って正として分類する確率です。軸は常に0から1であり、アルゴリズムがパラメトリックでない場合は、曲線ではなく、ROCグラフ上に1つのポイント(または2つのデータセットの場合は2つ)を作成する必要があります。アルゴリズムがパラメトリックである場合に曲線が得られ、その後、曲線はパラメーターのさまざまな値によって誘導されます。
http://www2.cs.uregina.ca/~dbd/cs831/notes/ROC/ROC.htmlを参照してください
私はそれを理解しました。私は Platt のアルゴリズムを使用して肯定的な分類の確率を抽出し、データセットを最も確率の高いものから順に並べ替えました。データセットを反復処理したところ、正の例 (正として分類されていない真の正) は真正の数を増やし、負の例 (負として分類されていない真の負) では偽陽性の数を増やしました。
2 つのクラス (+ve と -ve) を分離し、svm の一方の側からもう一方の側に徐々に移動する SVM 上のサポート ベクターと考えてください。ここでは、2次元平面上の点を想像しています。サポート ベクターが移動すると、例が明らかになります。陽性とラベル付けされた例は真陽性であり、陰性は偽陽性です。
お役に立てれば。ネット上の情報が不足しているため(または、SVM全般に関する私の理解が不足しているため)、非常に些細なことを理解するのに数日かかりました。これは特に、OpenCV パッケージで CvSVM を使用している人を対象としています。お気づきかもしれませんが、CvSVM は確率値を返しません。代わりに、距離関数に基づいた値を返します。確率に基づいて ROC 曲線を抽出するために Platt のアルゴリズムを使用する必要はありません。代わりに、距離値自体を使用できます。たとえば、距離を 10 から開始し、すべてのデータセットをカバーするまでゆっくりと減少させるとします。確率を使用すると、視覚化するのに適していることがわかりました。
私の母国語ではないので、私の英語に気をつけてください