有人可以解释我怎么用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