有人可以解釋我怎麼用ROCR繪製ROC曲線。 我知道,我應該首先運行:使用ROCR軟件包R的ROC曲線
prediction(predictions, labels, label.ordering = NULL)
然後:
performance(prediction.obj, measure, x.measure="cutoff", ...)
我只是不清楚是什麼意思與預測和標籤。我用ctree和cforest創建了一個模型,並且我希望兩者的ROC曲線最後進行比較。在我的情況下,class屬性是y_n,我認爲它應該用於標籤。但是預測呢?下面是我做什麼(數據集名稱= bank_part)中的步驟:
pred<-cforest(y_n~.,bank_part)
tablebank<-table(predict(pred),bank_part$y_n)
prediction(tablebank, bank_part$y_n)
運行的最後一行我得到這個錯誤後:
Error in prediction(tablebank, bank_part$y_n) :
Number of cross-validation runs must be equal for predictions and labels.
提前感謝!
下面是另一個示例:我有訓練數據集(bank_training)和測試數據集(bank_testing)和我跑了隨機森林如下:
bankrf<-randomForest(y~., bank_training, mtry=4, ntree=2,
keep.forest=TRUE,importance=TRUE)
bankrf.pred<-predict(bankrf, bank_testing, type='response')
現在bankrf.pred是帶有標籤C = A因子對象(「0」,「1」)。不過,我不知道如何繪製ROC,因爲我被卡在預測部分。這是我做的
library(ROCR)
pred<-prediction(bankrf.pred$y, bank_testing$c(0,1)
但這仍然是不正確,因爲我得到錯誤信息
Error in bankrf.pred$y_n : $ operator is invalid for atomic vectors
如果您提供了一個完整的自包含示例,則可能會有更多的受衆可以幫助您。請參閱http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example關於如何做到這一點的一些提示。 – 2012-07-13 10:14:57