¿Qué es la regresión logística?

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

La regresión logística es un proceso de modelado para calcular la probabilidad de un resultado discreto dada una variable de entrada. Se utiliza mucho cuando la variable dependiente (objetivo) es también una variable categórica.

Esta es un método de análisis útil para problemas de clasificación, en los que intenta determinar si una nueva muestra encaja mejor con una categoría.

Tipos de regresión logística

Existen dos tipos de regresión logística:

  • La regresión logística binaria, que toma solamente valores como verdadero/falso. Los valores de esta regresión oscilan estrictamente entre 0 y 1. Ambas categorías pueden ser prácticamente cualquier cosa, por ejemplo «compró/no compró el coche», «sacó/no sacó el perro a pasear», etc.
  • La regresión logística multinomial, que puede modelar un conjunto de variables en donde hay más de dos posibles resultados discretos.

Ejercicio de regresión logística

En lugar de realizar una predicción de un valor, queremos hacer un clasificador.

Si lo que tenemos son dos grupos y queremos realizar una clasificación, tenemos que realizar ciertas modificaciones a la regresión lineal.

La fórmula de la regresión lineal es:

Ŷ = ß₁X₁ + B²X² + ··· + BpXp = Σ Bk Xk

Podemos tratar de asignar una probabilidad, pero hay un problema, porque esta regresión va entre 0 y 1.

Por ejemplo: trabajamos en un RADAR y queremos saber si hemos detectado un avión o es solo ruido.

regresión logística ejemplo
In [1] : options (repr.plot.height = 4, repr.plot.width = 8, repr.plot.res = 300)

library (ggplot2)

radar <- read.csv ("data/radar-lite.csv", stringsAsFactors = T)
summary (radar)
ggplot (radar, aes (x = distancia,  y = potencia, color = tipo)) + geom_point (size = 3) + ylab ("potencia [mW]") + xlab ("distancia [Km]")
distanciapotenciatipo
Min. : 16.0Min. : 0.002959avion : 31
1st Qu. : 103.01st Qu. : 0.066766ruido : 29
Median : 221.5Median : 0.143595
Mean : 219.8Mean : 0.150970
3rd Qu. : 367.53rd Qu. : 0.229278
Max. : 485.0Max. : 0.315358
¿Qué es la regresión logística?
In [2] : radar$tipo <- relevel (radar$tipo, ref = 'ruido')
summary (radar)
distanciapotenciatipo
Min. : 16.0Min. : 0.002959avion : 29
1st Qu. : 103.01st Qu. : 0.066766ruido : 31
Median : 221.5Median : 0.143595
Mean : 219.8Mean : 0.150970
3rd Qu. : 367.53rd Qu. : 0.229278
Max. : 485.0Max. : 0.315358

Podemos hacer una clasificación con un modelo lineal donde creamos una nueva columna tipo.n y le asignamos:

  • avion = 1
  • ruido = 0

Utilizamos un modelo lineal tal que:

tipo.n = B0 +B1 – distancia + B2 – potencia

Entonces:

  • Si tipo.n >= 0.5 es un avión.
  • Si tipo.n < 0.5 es ruido.

La recta que marcará el umbral sería:

¿Qué es la regresión logística?
In [3] : set.seed (1)
set.seed (2)

radar$tipo.n [radar$tipo == "avion"] <- 1
radar$tipo.n [radar$tipo == "ruido"] <- 0

itrain <- sample (l:nrow (radar), round (nrow (radar) * 0.7))
radar.train <- radar [itrain , ]
radar.test <- radar [ - itrain , ]

modellm <- lm (data = radar.train.formula = tipo.n ~ distancia + potencia)
beta <- modellm$coefficients

ggplot (radar.train, aes (x = distancia, y = potencia, color = tipo)) + geom_point (size = 3) + geom_abline (intercept = (0.5 - beta [1]) / beta [3], slope = -beta [2] / beta [3], color = "red")
¿Qué es la regresión logística?

Pero esto no es del todo correcto, porque los datos no siguen una distribución gaussiana, sino una distribución binomial con dos posibles valores: 0 o 1.

La distribución binomial es una generalización de la distribución de Bernoulli para n sucesos independientes, cada uno de los cuales tiene dos posibles resultados: Sí/No con probabilidad p.

Por ejemplo, si tiramos al aire 3 monedas y miramos cuál es la probabilidad de que 2 salgan cara.

Variables que definen la distribución:

  • p – probabilidad de éxito de un caso individual.
  • n – número de eventos totales que se desean medir.
  • k – número de eventos que ha salido SÍ.

Estimadores media (p) y varianza (o2)

u = n . p

o2 = n . p . (1 – p)

Si tenemos n sucesos independientes que siguen una distribución de Bernoulli, ¿cuál es la probabilidad de que l sucesos sean positivos? Si sabemos que la probabilidad de un suceso (k = l) que sigue una distribución de Bernoulli viene dada por la función de distribución:

¿Qué es la regresión logística?

λ E l 0, 1 l

Al tener λ sucesos donde λ E (0, 1, 2…. n), la función será la de Bernoulli multiplicada por el coeficiente binomial que acabamos de ver:

¿Qué es la regresión logística?

La función acumulativa será:

¿Qué es la regresión logística?

¿Qué sigue?

Ahora que sabemos qué es la regresión logística y cómo funciona el modelo de regresión logística, podemos dar el siguiente paso en la escala del minado de datos. Para poder guiarte mejor, Keepcoding tiene para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, en donde aprenderás en muy pocos meses todo lo necesario para incursionar en un mercado laboral lleno de oportunidades de empleo. ¡Solicita ahora más información y apúntate para destacar en el sector IT!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado