Может кто-нибудь объяснить мне, пожалуйста, как построить кривую ROC с ROCR. Я знаю, что мне нужно сначала запустить:
prediction(predictions, labels, label.ordering = NULL)
а потом:
performance(prediction.obj, measure, x.measure="cutoff", ...)
Мне просто непонятно, что подразумевается под предсказаниями и ярлыками. Я создал модель с ctree и cforest, и я хочу, чтобы кривая ROC для них обоих сравнивала ее в конце. В моем случае атрибут класса 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), и я запустил randomForest, как показано ниже:
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 = ("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