- 0
- 0
- 0
- 0
La regresión logística es un método estadístico que utilizamos para ajustar un modelo de regresión cuando la variable de respuesta es binaria. Para evaluar qué tan bien se ajusta un modelo de regresión logística a un conjunto de datos, podemos observar las siguientes dos métricas:
- Sensibilidad: la probabilidad de que el modelo prediga un resultado positivo para una observación cuando en realidad el resultado es positivo.
- Especificidad: La probabilidad de que el modelo prediga un resultado negativo para una observación cuando en realidad el resultado es negativo.
Una forma fácil de visualizar estas dos métricas es creando una curva ROC , que es un gráfico que muestra la sensibilidad y especificidad de un modelo de regresión logística.
Este tutorial explica cómo crear e interpretar una curva ROC en R usando el paquete de visualización ggplot2.
Ejemplo: curva ROC con ggplot2
Supongamos que ajustamos el siguiente modelo de regresión logística en R:
#load conjunto de datos predeterminado del libro ISLR datos <- ISLR :: Predeterminado #divide el conjunto de datos en conjunto de entrenamiento y de prueba set.seed (1) muestra <- muestra (c ( VERDADERO , FALSO ), nrow (datos), reemplazar = VERDADERO , prob = c (0.7,0.3)) entrenar <- datos [muestra,] prueba <- datos [! muestra,] #ajustar el modelo de regresión logística al modelo del conjunto de entrenamiento <- glm (predeterminado ~ estudiante + saldo + ingresos, familia = " binomio ", datos = tren) #utilizar modelo para hacer predicciones en el conjunto de prueba predicho <- predecir (modelo, prueba, tipo = " respuesta ")
Para visualizar qué tan bien se desempeña el modelo de regresión logística en el conjunto de prueba, podemos crear una gráfica ROC usando la función ggroc () del paquete pROC :
#cargar biblioteca de paquetes necesarios (ggplot2) biblioteca (pROC) #define object to plot rocobj <- roc (prueba $ predeterminado, predicho) #create ROC plot ggroc (rocobj)
El eje y muestra la sensibilidad (la verdadera tasa positiva) del modelo y el eje x muestra la especificidad (la verdadera tasa negativa) del modelo.
Tenga en cuenta que podemos agregar algo de estilo al gráfico y también proporcionar un título que contenga el AUC (área bajo la curva) del gráfico:
#cargar biblioteca de paquetes necesarios (ggplot2) biblioteca (pROC) #define objeto para trazar y calcular AUC rocobj <- roc (prueba $ predeterminado, predicho) auc <- round (auc (prueba $ predeterminado, predicho), 4 ) #create ROC plot ggroc (rocobj, color = ' steelblue ', size = 2 ) + ggtitle ( paste0 (' Curva ROC ', ' (AUC = ', auc, ' ) '))
Tenga en cuenta que también podemos modificar el tema de la trama:
#create una trama ROC con un tema mínimo ggroc (rocobj, color = ' steelblue ', size = 2 ) + ggtitle ( paste0 (' Curva ROC ', ' (AUC = ', auc, ' ) ')) + theme_minimal ()
Consulte este artículo para obtener una guía de los mejores temas de ggplot2.
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: