Cómo calcular el AUC (área bajo curva) en R

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. Esto también se denomina «tasa positiva verdadera».
  • Especificidad: La probabilidad de que el modelo prediga un resultado negativo para una observación cuando en realidad el resultado es negativo. Esto también se denomina «tasa negativa verdadera».

Una forma de visualizar estas dos métricas es creando una curva ROC , que significa curva de “característica operativa del receptor”.

Esta es una gráfica que muestra la sensibilidad a lo largo del eje y y (1 – especificidad) a lo largo del eje x. Una forma de cuantificar qué tan bien lo hace el modelo de regresión logística en la clasificación de datos es calcular el AUC , que significa «área bajo la curva».

Cuanto más cerca esté el AUC de 1, mejor será el modelo.

El siguiente ejemplo paso a paso muestra cómo calcular el AUC para un modelo de regresión logística en R.

Paso 1: cargue los datos

Primero, cargaremos el conjunto de datos predeterminado del paquete ISLR , que contiene información sobre si varias personas incumplieron o no un préstamo.

#load dataset
 data <- ISLR :: Predeterminado

#ver las primeras seis filas del encabezado del conjunto de datos
 (datos)

  ingreso por defecto del saldo del estudiante
1 No No 729.5265 44361.625
2 No Sí 817.1804 12106.135
3 No No 1073.5492 31767.139
4 No No 529.2506 35704.494
5 No No 785.6559 38463.496
6 No Sí 919.5885 7491.559

Paso 2: Ajustar el modelo de regresión logística

A continuación, ajustaremos un modelo de regresión logística para predecir la probabilidad de que un individuo incumpla:

#Haga que este conjunto de ejemplo sea reproducible
 . semilla (1)

#Use el 70% del conjunto de datos como conjunto de entrenamiento y el 30% restante como conjunto de prueba
 muestra <- muestra (c (VERDADERO, FALSO), nrow (datos), reemplazar = VERDADERO , prob = c (0.7,0.3))
entrenar <- datos [muestra,]
prueba <- datos [! muestra,] 

#fit modelo de modelo de regresión logística
 <- glm (predeterminado ~ estudiante + saldo + ingresos, familia = " binomial ", datos = tren)

Paso 3: Calcule el AUC del modelo

A continuación, usaremos la función auc () del paquete pROC para calcular el AUC del modelo. Esta función utiliza la siguiente sintaxis:

auc (respuesta, predicha)

A continuación, se explica cómo utilizar esta función en nuestro ejemplo:

# calcular la probabilidad de incumplimiento para cada individuo en el conjunto de datos de prueba
 predicho <- predecir (modelo, prueba, tipo = " respuesta ")

#calcular la biblioteca AUC
 (pROC)
auc (prueba $ predeterminado, predicho)

Niveles de configuración: control = No, case = Yes
Dirección de configuración: controles <casos
Área bajo la curva: 0.9437

El AUC del modelo resulta ser 0,9437 .

Dado que este valor es cercano a 1, esto indica que el modelo hace un muy buen trabajo al predecir si un individuo incumplirá o no con su préstamo.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

1 comentario en «Cómo calcular el AUC (área bajo curva) en R»

Deja un comentario

En estadística, una puntuación z nos dice a cuántas desviaciones estándar se encuentra un valor de la media . Usamos…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!