2012-05-12 10 views
0

私は、陽性と陰性とラベルが付けられた2つの重い不均衡なデータセットを持っています。そして、95%の真の陽性率(そして5%の偽陰性率を継承します) 99.5%の真の負の割合(0.5%の偽陽性率)。ROCグラフの作成

私がROCグラフを作成しようとする問題は、x軸の間隔が0から1、間隔が0.1であることです。代わりに、私の非常に低い偽陽性率を与えられた場合、0から0.04のような値になります。

これがなぜ起こるかについての洞察はありますか? ROCグラフで

おかげ

答えて

0

を参照してください。私はPlattのアルゴリズムを使って正の分類の確率を抽出し、データセットをソートしました。私はデータセットを反復して、正の例(正の陽性、陽性と分類されていない)は真陽性の数を増やし、負の例(陰の陰には分類されない)は陰性の数を増やします。

2つのクラス(+ veと-ve)をSVMの一方の側から他方の側に徐々に移動するSVMのサポートベクターと考えてください。ここで私は2次元平面上の点を想像しています。サポートベクターが動くにつれて、それは例を明らかにする。陽性とラベル付けされた例はすべて鎮静剤であり、陰性は偽陰性である。

これが役に立ちます。ネット上の情報が不足しているため(または一般的にSVMの理解が不足しているため)、それほど些細なことを理解するまでには数日かかりました。これは特に、OpenCVパッケージでCvSVMを使用している人を対象としています。ご存知のように、CvSVMは確率値を返しません。代わりに、距離関数に基づく値を返します。確率に基づいてROC曲線を抽出するためにプラットのアルゴリズムを使用する必要はなく、距離値自体を使用することができます。たとえば、10で距離を始めると、すべてのデータセットをカバーするまでゆっくりと減少します。私は視覚化するために、より良い確率を使用することを発見しました。それは私の問題は、私は確率モデルではないSVMを、使用していますということで私の最初の言語

0

、二つの軸は、偽陽性(F)の速度と真陽性(T)の割合です。 Tは陽性データ項目が与えられた確率で、アルゴリズムは陽性と分類します。 Fは負のデータ項目が与えられた確率であり、アルゴリズムはそれを正に誤って分類します。軸は常に0から1までです。アルゴリズムがパラメトリックでない場合は、カーブではなくROCグラフ上の単一点(または2つのデータセットの2つ)で終わる必要があります。アルゴリズムがパラメトリックであればカーブが得られ、カーブはパラメタの異なる値によって誘導されます。

は、私はそれを考え出したhttp://www2.cs.uregina.ca/~dbd/cs831/notes/ROC/ROC.html

+0

ないよう

私の英語を気にしてください。それは単に正と負の値を分類するため、私は1つのポイントだけで終わるのです。さらに、OpenCVのSVMは距離の関数値だけを分類する確率を返しません。確率を決定するためにこの値を使用しようとしています。これまでの運はありません。 –

関連する問題