2017-11-30 10 views
2

両方procは常にAUCを報告するRパッケージに> 0.5

pROC::auc(0:1, 1:0) 
pROC::auc(0:1, 0:1) 

...もっと実験と

の1のAUCを与え、常にMAX(AUC、1 - AUC)を返すようです。 これを変更するオプションはありますか? この問題を報告するGitHubリポジトリが見つかりません。

+1

ないバグを見ることができますが、今後の参考のために、ここではgithubのレポは次のとおりです。 https://github.com/xrobin/pROC – Calimo

答えて

4

autoに設定デフォルトで引数directionがあります。 - 比較を行うためにどの方向に

方向:rocのドキュメントから ? "auto"(デフォルト): は、中央値が高いグループを自動的に定義し、それに応じて の方向を指定します。 ">":コントロール グループのプレディクタ値がケースグループ(コントロール> t> = の場合)の値よりも高い場合。 "<":コントロールグループの予測値が、 またはケースグループ(コントロール< t < =ケース)の値より低い場合。

pROC::auc(0:1, 1:0, direction = "<") 
pROC::auc(0:1, 0:1, direction = "<") 

、このような根拠の説明がCalimoのコメントに記載されている:高の予測値は、すべてのケースで、よりポジティブであることを前提とする理由はありません。答えで指摘したように、モデルの場合のように問題に陰性クラス

よりの確率を示すhere

+0

自動は意味をなさない。あなたの予測が間違っていれば、それも残るはずです。ご回答有難うございます。 –

+1

その根拠はもともとそれほど「ランダムよりも悪くはありませんでしたが、すべてのケースでより高いプレディクタ値がより正であると想定する理由はありません。私は、より高い値が否定的な結果を示す多くの場合を見てきました。負のクラスの確率を示すモデルを考えてみましょう。 – Calimo

+0

@Calimoこれは確かに正しいですが、私は、常に「1」がバイナリ分類で高い確率を持つクラス(または少なくともモデルから求められます)という方法でデータをセットアップするという事実によって私の説明が不明瞭になりました。また、 'pROC'に感謝します。 – missuse

1

はModelMetricsでAUC機能を試してみてください:

ModelMetrics::auc(0:1, 1:0) 
ModelMetrics::auc(0:1, 0:1) 

出力:pROC::roc

[1] 0 
[1] 1 
+0

これは素晴らしいパッケージと思われ、超高速です。ありがとう! –

関連する問題