Para la curva ROC, los datos finales quedan así:
Para esta curva se ordenan los nodos por el % de verdaderos positivos de forma descendente, de tal suerte que el nodo con mejor desempeño, sea el primer punto en la curva de izquierda a derecha. Luego se acumulan los valores para ambos ejes, donde:
el eje x = especificidad ó el % acumulado de verdaderos negativos que cada regla captura.
el eje y = sensibilidad ó el % acumulado de verdaderos positivos identificados en cada regla.
Al acumularlos se puede visualizarse el aporte que hace cada regla al modelo, permitiendo identificar si una regla mejora o empeora el modelo predictivo.
Esta curva es sobre los datos de Entrenamiento (Train). Para una curva sobre los datos de TEST ver nota sobre package ROCR publicada AQUI.
Referencia:
1.http://es.wikipedia.org/wiki/Curva_ROC
2. http://rstudio-pubs-static.s3.amazonaws.com/9572_0d220ef7b80f4f96b384e3a229b8451b.html
3.https://www.youtube.com/watch?v=gYIlKUP2hk0
Esta curva es sobre los datos de Entrenamiento (Train). Para una curva sobre los datos de TEST ver nota sobre package ROCR publicada AQUI.
# Ejemplo para Curva ROC #------------------------------------------------------------------------------ # PASO 1. Carga libreria y define datos de TRAIN y TEST library(rpart) # para arbol decision library(rattle) # para data set, y grafico de arbol decision datos <- weather datos <- within(datos, rm("Date","Location","RISK_MM")) #borra columnas dummy set.seed(42) # fija la secuencia de numeros aleatorios sampleTrain <- sample(nrow(datos),(nrow(datos)*.6)) Train <- datos[sampleTrain,] Test <- datos[-sampleTrain,] #------------------------------------------------------------------------------ # PASO 2. Crea el modelo predicitivo modelo.rpart <- rpart(RainTomorrow ~ ., data=Train, method="class", parms=list(split="information")) #------------------------------------------------------------------------------ # PASO 3. crea Grafico Arbol Decisión y muestra las reglas fancyRpartPlot(modelo.rpart) asRules(modelo.rpart)
El excel con las notas puede descargarse AQUI
1.http://es.wikipedia.org/wiki/Curva_ROC
2. http://rstudio-pubs-static.s3.amazonaws.com/9572_0d220ef7b80f4f96b384e3a229b8451b.html
3.https://www.youtube.com/watch?v=gYIlKUP2hk0
Te dejo una función de R que crea el gráfico en ggplot2 y te devuelve el área bajo la curva https://github.com/lucpogo/R/blob/master/ROC.r
ResponderEliminarhola Lucas
ResponderEliminarSe ve interesante la matriz final con el aporte de cada regla. Lo estaré probando y luego te comento.
Gracias!!
Muchas gracias por tu trabajo.
ResponderEliminar