Predictor de infidelidad (II): ¿Qué es la regresión logística?Paloma Recuero de los Santos 20 febrero, 2019 En el post anterior, planteamos crear un «predictor de infidelidad» a partir del dataset «afairs», cargamos los datos y realizamos una breve exploración/visualización de éstos. En el post de hoy, analizaremos el tipo de problema, y el algoritmo que vamos a utilizar para la nuestro modelo de predicción, la regresión logística. Antes de aplicarlo, merece la pena detenerse a comprenderlo un poco mejor. En este segundo post aprenderemos lo siguiente: Cómo definir la variable objetivo en un problema de clasificaciónQué es y para qué sirve la regresión logísticaCómo explicar de forma intuitiva las matemáticas del modeloCuáles son sus limitaciones (También podríamos haberlo abordado como variable de texto, siempre hay enfoques alternativos para la solución de cualquier problema). Tras el breve análisis que hicimos en el post anterior, es fácil deducir que nos hayamos ante unproblema de clasificación. Esto no es nada raro, ya que, aproximadamente un 70% de los problemas de Data Science son de este tipo. Decimos que es de tipo binario, porque la variable objetivo, aquella cuyo valor queremos predecir, podrá tener dos valores enteros (0=fiel, 1=infiel). Por tanto, definimos una nueva variable, «infidelity«, que será la variable objetivo (target variable) cuyo valor sea «0» cuando la variable «affairs» es 0 y 1 cuando esta variable es >0. Recordemos que la variable «affairs» era una medida del tiempo dedicado a tener una «aventura extramarital». Si pedimos de nuevo que muestre los 10 primeros registros, vemos que, en este caso, el valor de la nueva variable es 1 (= amores «no oficiales»). Figura 1: Definición de la variable objetivo «infidelity». Figura 2: Impresión de los 10 primeros valores de la variable. Hay distintas familias de algoritmos que se pueden usar para cada tipo de problema en Machine Learning. Lo habitual es usar varios modelos, evaluar su rendimiento y así elegir el más adecuado a cada caso. En este caso, obviamos ese análisis porque queremos trabajar con un modelo concreto, la regresión logística que, como veremos, es una elección muy razonable. 2. ¿En qué consiste la regresión logística? La regresión logística es uno de los algoritmos de aprendizaje supervisado más sencillos y más utilizados en Machine Learning para problemas de clasificación. Es un tipo de análisis de regresión que permite predecir el resultado de una variable categórica, (binaria o múltiple) en función de las variables independientes o predictoras. Nos vamos a centrar en el primer caso, regresión logística binaria. Para entenderlo mejor, veamos uno de los ejemplos más típicos: los detectores de spam. A partir de una serie de variables independientes o características de entrada, tales como el remitente de un mensaje, si va dirigido a una única persona o a un grupo de ellas, o si en el campo «Asunto» aparecen determinadas palabras; es capaz de predecir si es correo deseado o no (variable dependiente binaria con dos valores posibles: «correo deseado» o «correo deseado»). En el siguiente vídeo, Ligdi González explica de forma breve y sencilla cómo funcionan estos algoritmos: En resumen, los algoritmos de regresión logística, a pesar de su nombre, son algoritmos de clasificación, donde la variable dependiente (valor a predecir), es categórica y binaria. Por tanto, no se trata de predecir valor numérico (como en el caso de la regresión lineal), sino una «etiqueta» de clasificación. En nuestro ejemplo concreto, queremos predecir la probabilidad de que una persona sea fiel o infiel, basándonos en los valores de las variables rate_marriage, years_marriage, children, religious, occupation, occupation_husb y educ. 2.1 Comprendiendo las matemáticas del modelo. Sin meternos mucho en profundidades matemáticas, el objetivo de la regresión logística es obtener la probabilidad de que la variable dependiente tenga un valor categórico u otro (en nuestro ejemplo o “infidelity”= 0 o “infidelity”= 1), en función de los valores de las variables de entrada. Para ello utiliza un modelo de probabilidad lineal, en el que la probabilidad condicionada es función lineal de los valores de las variables de entrada. Esta función es la que se conoce como función logits(Y) y su resultado es un score o puntuación. Su expresión matemática es la siguiente; Figura 3: Fórmula de la función logits. Para entenderlo un poco mejor. Como el objetivo es predecir una «probabilidad», nos movemos en el ámbito de las matemáticas probabilísticas, que son una rama de las matemáticas que se ocupa de medir o determinar cuantitativamente la posibilidad de que un suceso o experimento produzca un determinado resultado. La probabilidad está basada en el estudio de la combinatoria y es fundamento necesario de la estadística. Por otra parte, se trata de una probabilidad condicionada, ya que el valor que tenga la variable que queremos predecir, está influido por los valores de las variables predictoras. Y se trata de una función lineal, porque se puede expresar como una función polinómica de primer grado, es decir, como una suma de valores correspondientes a las variables xi multiplicados por un coeficiente βi, cuya representación en el plano cartesiano es una recta. El problema es que este “score” puede tomar cualquier valor. Para poder convertirlo en una “etiqueta” (recordemos que estamos ante un problema de clasificación, en este caso binario), usamos una función matemática que garantice que la probabilidad condicionada estará entre cero y uno. Para ello, usamos la función Softmax, que para el caso particular de una regresión logística binaria, sería la función Sigmoidea. La función sigmoidea ya nos es una función lineal, sino logarítmica. Por eso decimos que la regresión logística es un algoritmo lineal con una transformación no lineal en la salida. Figura 4: Función sigmoidea. En el blog Data Aspirant, podemos encontrar una imagen que resume muy bien todo el proceso. Figura 5: Proceso de regresión logística para clasificación binaria. 2.2 Comprendiendo las limitaciones del modelo. Antes de seguir codificando nuestro predictor, debemos recordar lo siguiente: La variable de salida es binaria. Predice la probabilidad de que una instancia pertenezca a la clase predeterminada, que se puede ajustar en una clasificación 0 o 1. En este caso, infidelity=1La regresión logística es muy sensible a los outliers, o datos anómalos. Habrá que revisar este tema antes de aplicar el algoritmo.Habrá que revisar la correlación entre variables, ya que, como en el caso de la regresión lineal, si hay dos o más variables altamente correlacionadas, podemos tener problemas de sobreajuste o de convergencia del modelo. Si recordáis, aunque no mencionamos la razón, en el post anterior donde introdujimos el experimento, ya nos aseguramos de comprobar que no hubiera campos vacíos ni correlación entre las variables. En el tercer y último post de esta miniserie, retomaremos nuestro Jupyter Notebook en el punto en que lo dejamos. Prepararemos los datos para poder aplicar el modelo, lo entrenaremos, valoraremos los resultados, haremos una predicción y sacaremos conclusiones. ¡Todavía nos queda bastante trabajo, pero merece la pena!.¿no? Aquí puedes encontrar todos los post de este experimento: Especial San Valentin: ¿Podemos predecir la infidelidad con IA? Predictor de infidelidad (II): ¿Qué es la regresión logística? (este post) Predictor de infidelidad (III): Un ejemplo de regresión logística sobre el dataset “Affairs” Los post más interesantes de LUCA Data Speaks organizados por series y temáticas Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. Las Matemáticas del Machine Learning ¿Qué debo saber?Sistemas expertos e IA en el mundo de las prospecciones petrolíferas
AI of Things WiFi 7 está aquí: te damos las claves de la nueva generación El WiFi 7, la nueva versión del estándar de conectividad, va a llevar la velocidad de Internet a un nivel completamente nuevo. En comparación con su predecesor, WiFi 6, esta nueva...
Cristina del Carmen Arroyo Siruela Día de la mujer ingeniera: construyendo nuevos caminos El término “ingeniero” proviene del latín, ingenium, en castellano ingenio. Desde hace mucho tiempo, se ha asociado el mundo de la ingeniería con el sexo masculino. Pero ¿es el...
Telefónica Tech Webinar: Sports Tech, la revolución digital del fútbol El pasado 15 de junio desde Telefónica Tech organizamos un webinar dedicado a la tecnología en el deporte: “Sports Tech, la revolución digital del fútbol”, disponible ya en nuestro...
Álvaro Alegria Meunier El metaverso será para las empresas un medio, no un fin Si algo tenemos claro a estas alturas de 2022 es que la “buzz word” del año en el mundo tecnológico y empresarial será: metaverso. Lo que no termina de estar...
Raúl Matarranz Villagordo Arquitectura, digitalización y sostenibilidad, pilares de la transformación de los estadios de fútbol ¿Qué hago con 30 millones de euros?, esta es la pregunta recurrente a la que se enfrentan los clubes de fútbol de primera y segunda división
AI of Things Conoce la diferencia entre machine learning y deep learning Durante los últimos años, la inteligencia artificial (IA) ha generado una revolución en el entorno empresarial, dando paso a soluciones enfocadas en la automatización y agilidad en los procesos....