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