2016-05-31 18 views
1

ROCRパッケージを使用して、色付きのroc曲線をプロットしました。カーブ自体には問題はなく、うまく見えますが、パレットはカットオフポイントが1より大きいことを示しています。これは、これらが確率であり、0から1の範囲である必要があるためです。私は自分のデータセットを数回確認しましたが、私のデータセットには何も問題はありません。ROCRパッケージのカットオフ値が1より大きい色付きROC曲線

予測値とそれに対応するラベルとともにコードを示します。 here is the plotted roc curve for my classification

私の最初の推測では、ROCRパッケージにバグがありますが、私は完全にはわかりません。それを理解する助けがあれば歓迎されます。

library(ROCR) 
labels <-c(1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 
scores<-c(1,1,1,0.8,1,1,1,0.95,1,1,1,1,1,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0.206,0) 
pred<-prediction(scores,labels) 
perf<-performance(pred,"tpr","fpr") 
plot(perf,colorize=TRUE) 

答えて

0

あなたが最初cutoffが順番に同様Infするalpha.valuesの最初のエントリを引き起こしInf、あることに起因するROCRのバグを見つけたようだ:

> attributes(pred)$cutoffs[[1]] 
[1] Inf 1.000 0.970 0.950 0.800 0.206 0.000 
> attributes(perf)$alpha.values[[1]] 
[1] Inf 1.000 0.970 0.950 0.800 0.206 0.000 

これはないだろう問題はこれまでのところですが、alpha.valuesが着色に使用されていると思われます。これはこの異常な動作の原因となる可能性があります。

> attributes(perf)$alpha.values[[1]][1] <- 1 
> attributes(perf)$alpha.values[[1]] 
[1] 1.000 1.000 0.970 0.950 0.800 0.206 0.000 
> plot(perf,colorize=TRUE) 

ROC

+0

こんにちはgeekoverdose:代わりに、この問題への迅速な修正として使用することができInf修正問題、の1への最初のエントリを設定します。ありがとう、そうです。それは今合理的だ:) – Rahman

関連する問題