Para detalle de curva ROC ver nota publicada AQUI
Conceptualmente el proceso seria así:
El script:
# CARGA LIBRERIA Y DATOS #------------------------------------------------------------------------------ library(rpart) # para arbol decision library(rattle) # para data set, y arbol decision library(ROCR) # para curva ROC datos <- weather datos <- within(datos, rm("Date","Location","RISK_MM")) #borra dummy set.seed(42) # fija la secuencia de numeros aleatorios sampleTrain <- sample(nrow(datos),(nrow(datos)*.7)) Train <- datos[sampleTrain,] Test <- datos[-sampleTrain,] # MODELO #------------------------------------------------------------------------------ modelo.rpart <- rpart(RainTomorrow ~ .,Train, method="class") # PREDICCION #------------------------------------------------------------------------------ predict.rpart <- predict(modelo.rpart,Test,type = "prob")[,2] #prob. clase=yes predict.rocr <- prediction (predict.rpart,Test$RainTomorrow) perf.rocr <- performance(predict.rocr,"tpr","fpr") #True y False postivie.rate # GRAFICO CURVA ROC #------------------------------------------------------------------------------ auc <- as.numeric(performance(predict.rocr ,"auc")@y.values) plot(perf.rocr,type='o', main = paste('Area Bajo la Curva =',round(auc,2))) abline(a=0, b= 1) # GRAFICO ARBOL DECISION #------------------------------------------------------------------------------ fancyRpartPlot(modelo.rpart)
Referencia:
Me dice que no puede encontrar la función prediction ¿me puedes ayudar?
ResponderEliminarHola Raul. Hice prueba y no tuve error. Valida qué versiones de librerias tienes. Esto lo puedes hacer ejecutando la funcion sessionInfo(). Yo hice pruebas con estas versiones: ROCR_1.0-11 rattle_5.2.0 rpart_4.1-15
EliminarCualquier duda, me escribes por mail
suerte!