¿Alguien me puede explicar cómo trazar una curva ROC con ROCR? sé que primero debería funcionar:Curva ROC en R usando el paquete ROCR
prediction(predictions, labels, label.ordering = NULL)
y luego:
performance(prediction.obj, measure, x.measure="cutoff", ...)
yo no tengo claro lo que se quiere decir con la predicción y etiquetas. Creé un modelo con ctree y cforest y quiero que la curva ROC para ambos lo compare al final. En mi caso, el atributo de clase es y_n, que supongo que debería usarse para las etiquetas. Pero, ¿y las predicciones? Estos son los pasos de lo que hago (conjunto de datos name = bank_part):
pred<-cforest(y_n~.,bank_part)
tablebank<-table(predict(pred),bank_part$y_n)
prediction(tablebank, bank_part$y_n)
Después de ejecutar la última línea me sale este error:
Error in prediction(tablebank, bank_part$y_n) :
Number of cross-validation runs must be equal for predictions and labels.
Gracias de antemano!
He aquí otro ejemplo: Tengo la formación de datos (bank_training) y el conjunto de datos de prueba (bank_testing) y me encontré con un randomForest de la siguiente manera:
bankrf<-randomForest(y~., bank_training, mtry=4, ntree=2,
keep.forest=TRUE,importance=TRUE)
bankrf.pred<-predict(bankrf, bank_testing, type='response')
Ahora el bankrf.pred es un factor de objeto con etiquetas c = ("0", "1"). Aún así, no sé cómo trazar ROC, porque me quedo atascado en la parte de predicción. Aquí es lo que hago
library(ROCR)
pred<-prediction(bankrf.pred$y, bank_testing$c(0,1)
pero esto sigue siendo incorrecto, porque me sale el mensaje de error
Error in bankrf.pred$y_n : $ operator is invalid for atomic vectors
Si proporcionó un ejemplo completo e independiente, es posible que obtenga un público más amplio que pueda ayudarlo. Consulte http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example para obtener algunos consejos sobre cómo hacerlo. –