Cómo crear una matriz de confusión en R (paso a paso)

Actualizado el 7 de mayo de 2021, por Luis Benites.

La regresión logística es un tipo de regresión que podemos usar cuando la variable de respuesta es binaria.

Una forma común de evaluar la calidad de un modelo de regresión logística es crear una matriz de confusión , que es una tabla de 2 × 2 que muestra los valores predichos del modelo frente a los valores reales del conjunto de datos de prueba.

El siguiente ejemplo paso a paso muestra cómo crear una matriz de confusión en R.

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

Para este ejemplo, usaremos el conjunto de datos predeterminado del paquete ISLR . Usaremos el estado del estudiante, el saldo bancario y los ingresos anuales para predecir la probabilidad de que una persona determinada no pague su préstamo.

El siguiente código muestra cómo ajustar un modelo de regresión logística a este conjunto de datos:

#cargar la biblioteca de paquetes necesarios
 (intercalación)
 biblioteca (InformationValue)
 biblioteca (ISLR)

#load dataset
 data <- Predeterminado

# dividir el conjunto de datos en un conjunto de conjuntos de entrenamiento y prueba
 . semilla (1)
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 2: crear la matriz de confusión

A continuación, usaremos la función confusionMatrix () del paquete de intercalación para

#utilizar modelo para predecir la probabilidad de incumplimiento
 predicho <- predecir (modelo, prueba, tipo = "respuesta")

#convertir los valores predeterminados de "Sí" y "No" a unos y ceros
prueba $ predeterminado <- ifelse (prueba $ predeterminado == " Sí ", 1, 0)

# encontrar la probabilidad de corte óptima que se utilizará para maximizar la precisión
óptimo <- corte óptimo (prueba $ predeterminado, predicho) [1]

#crear matriz de confusión
confusionMatrix (prueba $ predeterminado, predicho)

     0 1
0 2912 64
1 21 39

Paso 3: evaluar la matriz de confusión

También podemos calcular las siguientes métricas usando la matriz de confusión:

  • Sensibilidad: La «tasa positiva verdadera» – el porcentaje de individuos que el modelo predijo correctamente que incurriría en incumplimiento.
  • Especificidad: La «tasa negativa verdadera» – el porcentaje de individuos que el modelo predijo correctamente no incurriría en incumplimiento.
  • Tasa total de clasificación errónea: el porcentaje del total de clasificaciones incorrectas realizadas por el modelo.

El siguiente código muestra cómo calcular estas métricas:

#calcular sensibilidad
sensibilidad (prueba $ predeterminado, predicho)

[1] 0.3786408

#calcular especificidad
 especificidad (prueba $ predeterminado, predicho)

[1] 0,9928401

#calcular la tasa total de errores de clasificación errónea
 misClassError (prueba $ predeterminado, predicho, umbral = óptimo)

[1] 0,027

La tasa total de errores de clasificación errónea es del 2,7% para este modelo.

En general, cuanto más baja sea esta tasa, mejor será el modelo para predecir los resultados, por lo que este modelo en particular resulta ser muy bueno para predecir si un individuo incurrirá en incumplimiento o no.

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

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿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:

Deja un comentario

Un gráfico de radar (a veces llamado "gráfico de araña") es un tipo de gráfico que ofrece una forma única…
statologos comunidad-2

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

You have Successfully Subscribed!