2016-05-15 74 views
1

2つの方法でROC曲線をプロットし、各ROC曲線に対してAUCを求めました。RはAUCを取得し、同時に複数のROC曲線をプロットする

方法1 - 第1の方法はシンプルですが、私は一緒に複数のROC曲線をプロットする方法がわかりません。 私は単にroc.curve(hacide.test$cls, pred_rose[,2])を使用しています。出力にはROC曲線が表示され、AUCが表示されます。

方法2 私は複数のROC曲線を同時にプロットすることができますが、同時にAUCを得ることはできません。 これは私が複数のROC曲線を一緒にプロットする方法です:

library(ROCR) 
pd1 <- prediction(pred_rose[,2], hacide.test$cls) 
pf1 <- performance(pd1, "tpr","fpr") 

pd2 <- prediction(pred_both[,2], hacide.test$cls) 
pf2 <- performance(pd2, "tpr","fpr") 

plot(pf1, colorize = TRUE) 
plot(pf2, add = TRUE, colorize = TRUE) 

これは私がAUCを得る方法である:

pf <- performance(pd3, "auc") 
pf  # y.values is the AUC 

あなたが見ることができるように、私はこの第二の方法、performance()方法を使用していたときにROC曲線を得るために使用され、AUCは異なる。ここで、pf1、pf2の出力にはAUC値はありません。

方法1は簡単ですが、方法1を使用してROC曲線をプロットし、各AUC値を保持する方法を知っていますか?

答えて

4

pROCパッケージでこれを行うことができます。

library(pROC) 
roc_rose <- plot(roc(hacide.test$cls, pred_rose[,2]), print.auc = TRUE, col = "blue") 

そして第二にROC曲線のためにあなたは、AUCのy位置を変更し、プロットを同じグラフ上に2つの曲線addを使用する必要があります:

roc_rose <- plot(roc(hacide.test$cls, pred_both[,2]), print.auc = TRUE, 
       col = "green", print.auc.y = .4, add = TRUE) 
plotの呼び出しで print.auc引数を使用します
+0

まだ別々にプロットを表示しています.... –

+0

私はroc.curveをrocに変更できなかったからです。私は私の答えを編集し、今すぐ動作するはずです。 – Calimo

+0

恐ろしい!どうもありがとうございました! –

関連する問題