Topic outline
-
ESTADÍSTICA I V - P3736-TEÓRICO-N0280-05-N01
PRIMER NIVEL
NELSON ALBERTO CERDA PRADO
—
CARLOS JULIO MAYORGA ARIAS
—
CARLOS JULIO MAYORGA ARIAS
—
usuario testadmin2
Educación inicial
-
Modelos de clasificación
-
Introducción
En esta clase trataremos sobre modelos de clasificación, hasta el momento todos los modelos fueron desarrollados con variables de respuesta continuas, sin embargo, más comunes son los modelos de clasificación, existen una gran cantidad de modelos de clasificación en la ciencia de datos, pero en esta clase nos centraremos específicamente en modelos de regresión logística.
Dentro de estos modelos será muy importante el tratar las distintas técnicas de codificación de variables categóricas. En modelos de clasificación de la ciencia de datos no se admiten trabajar con variables categóricas directamente por lo que requieren algún tipo de codificación, por lo tanto, en esta segunda parte vamos a mencionar algunos mecanismos para codificar variables categóricas.
Termino
Concepto
Termino
Concepto
-
13.1 Modelo logístico13.2 Funciones de enlace logit
Cuando hablamos de modelos cuya variable de respuesta es discreta o categórica nos referimos como modelos de clasificación. Si la variable de respuesta solo puede tomar 2 valores (verdadero/falso o 0/1) nos referimos como modelos binomiales, por el contrario, si puede tomar conjunto de valores nos referimos como modelos multinomiales. En la presente clase veremos modelos logísticos binomiales.
13.1 Modelo logístico
La regresión logística es un modelo que se utiliza para determinar la probabilidad de que ocurra un evento. Estos modelos muestran la relación entre variables y luego calcula la probabilidad de un resultado determinado.
Para la creación de este tipo de modelos recurrimos a la función glm().
Hasta ahora hemos utilizado la función lm() para generar modelos que tiene determinados supuestos, por ejemplo, distribución debe ser gaussiana o normal y que su varianza debe ser homocedástica. Pero no todos los problemas cumplen con estos supuestos, por ejemplo, ¿Qué pasa si la data refleja una distribución binomial o Poisson? Para esto introduciremos la función glm.
Aprende más
Para conocer más sobre Modelos lineales generalizados, puedes leer el siguiente artículo ¡Accede aquí!
Los modelos GLM son una generalización de los modelos lineales vistos, que permiten crear modelos en los cuales algunas condiciones puedan ser especificadas. Una de estas condiciones, supone que cada resultado Y de las variables de respuesta se genera a partir de una distribución particular de la familia exponencial, esta incluye la distribución normal, binomial, Poisson y gamma, entre otras.
Los modelos glm tiene 3 componentes:
Componente aleatorio: Especifica la distribución de probabilidad de la variable de respuesta, específicamente, para una distribución dada (normal, binomial, etc.) estima su media y varianza. No hay un término de error separado (ε) como en la regresión lineal.
Componente Sistemático: Especifica las variables explicativas del modelo y su combinación lineal, esto es similar a la regresión lineal.
Función de enlace: Indica cómo el valor esperado de la respuesta se relaciona con la combinación lineal de variables predictoras. Glm NO asume una relación lineal entre la variable de respuesta y las variables predictoras (como lm), pero sí asume una relación lineal entre la respuesta transformada en términos de la función de enlace y las variables explicativas. Específicamente para regresión logística utilizaremos la familia binomial (family=binomial(link = "logit"))
Note que la distribución está dada por distintas “familias” y entre paréntesis aparece la función “link”, ésta indica justamente la función de enlace que se usará en el proceso.
La familia de binomial dispone de varias funciones de enlace que permiten el comportamiento requerido. La siguiente tabla presenta el nombre de la función y su fórmula de cálculo.
Tabla 1
Funciones de enlace para regresión logística

Nota. Describe la función y su cálculo de la probabilidad de la ocurrencia del evento. Prado (2025)
Adaptado de Rindang B (2019)Las funciones de enlace tienen distintas características como se evidencia en la siguiente figura.
Figura 1
Características de funciones de enlace

Nota. Tomado de Rindang B. (2019) La siguiente figura explica el concepto de la función de enlace. Para cierto rango de valores de la variable predictora X se desea que la respuesta Y sea 0 (o esté debajo de cierto umbral). Sin embargo, cuando X sube de cierto valor se espera que Y sea 1.
Por defecto en el caso de distribución binomial, la función es “logit”, que como vemos en la tabla 1, se basa en el concepto de Odds.
Figura 2
Relación entre X y Y en un modelo logístico

Nota. Creación del autor Alfonso Prado 13.3 Prueba Chi-cuadrado de independenciaODDS y ODDS RATIO
El análisis de datos categóricos se basa típicamente en tablas de contingencia de dos o más dimensiones, tabulando la frecuencia de ocurrencia de niveles de datos nominales y/o ordinales.
Una tabla de contingencia es una herramienta utilizada en la cual se crean al menos dos filas y dos columnas para representar datos categóricos en términos de conteos de frecuencia.
La tabla permite medir la interacción entre dos variables para conocer una serie de información “oculta” de gran utilidad y comprender con mayor claridad los resultados de una investigación.
Ejemplo: En la siguiente figura se presenta la ocurrencia de una enfermedad (mf), pero esta segmentada por otras variables como área, rango-edad, sexo y queremos entender cómo se distribuye esta enfermedad de acuerdo al área (o cualquier otra variable categórica)
Figura 3
Dataset Oncho (a) y tabla de contingencia de la relación mf vs area (b)
(a)

(b)

Creación del autor Alfonso Prado
Note que las filas corresponden a los niveles de la variable Y, sin embargo, en algunos campos de investigación se estila crear la tabla con nombres genéricos como Exposure y Outcome, donde las filas (Exp+ y Exp -) indican haber estado sujeto a un “tratamiento” y las columnas (Out +, Out -) haber desarrollado un efecto o no. Debemos notar que la cantidad de observaciones de un valor nominal no va a ser necesariamente la misma de otro valor. Por ejemplo, la cantidad de encuestados hombres no es igual a las mujeres, por lo tanto, la tabla debe ser procesada a fin de encontrar el valor del odds. El Odds nos indicará la probabilidad entre Exposure y Outcome y se calcula mediante la relación entre outcome+ y outcome – para cada uno de los exposed. Ejemplo: En la figura 12 odds de los expuestos=140/84, odds de no expuestos=139/92.
Figura 4
Obtención del Odds y Odds Ratio mediante la función epi.2by2

Nota. Creación del autor Alfonso Prado Y para comparar los dos grupos (expuestos y no expuestos) dividiremos los valores de cada grupo y esto se denomina el odds ratio u OR = 1.67/1.51 =1.1
¿Cómo interpretar el odds-ratio? La razón de probabilidades nos dice cuánto más altas son, las probabilidades de exposición entre los casos de una salida positiva que entre los casos de una salida negativa.
Si la razón de posibilidades (odds-ratio) es mayor que 1, los eventos se asocian positivamente, si la razón de probabilidades es menor que 1 los eventos se asocian negativamente. Si es cercano a 1 no hay influencia. Podemos entender esto como una correlación entre variables nominales. Note que divide la probabilidad de que se presente el evento para la probabilidad de que no se presente, cuyo logaritmo es utilizado por la función logit. (Ver tabla 1)
Figura 5
Generalización del Odds ratio como relación de probabilidad

Nota. Creación el autor Alfonso Prado Donde
Π representa la probabilidad de que se presente el evento
El proceso de tablas de contingencia visto anteriormente funciona bien para variables dicotómicas, pero que pasa si tenemos más de dos niveles de la variable, por ejemplo, del mismo dataset mencionado anteriormente existen variables como agegrp (grupo etario), que tiene 4 niveles. En este caso la función 2by2 no funciona, por lo que tenemos que recurrir a otra prueba de independencia conocida como Chi-cuadrado o Ji-cuadrado.
Tabla 2
Tabla de contingencia mf vs aegrp

Nota. Creación del autor Alfonso Prado En estos casos necesitamos realizar los siguientes pasos:
- Mostrar que existe una relación para lo cual usaremos la prueba de independencia Xi2 (se pronuncia chi-cuadrado).
- La prueba Xi2 (al igual que otras pruebas) consiste en 2 partes, obtener un estadístico y compararlo con su distribución, en este caso la distribución es Chi cuadrado, y los grados de libertad se calcula como (filas -1)*(columnas -1) de la tabla de contingencia
- Validar en forma gráfica mediante diagramas de mosaicos
- Digitalizar o codificar la variable
De acuerdo a Ramirez-Alan ,(2016) “El test Xi2 considera la hipótesis nula (H0) de que las variables son independientes, si esto es verdad, la frecuencia de ocurrencia debería estar dada por la cantidad de casos totales multiplicada por la probabilidad esperada”. En el ejemplo anterior, si la probabilidad de contagiarse de la enfermedad es igual para los 4 niveles (πij = 25%) entonces si se han detectado 1000 casos estas deberían estar distribuidas en las 4 categorías (n*πij =1000*.25). Este valor conocido como µij .
Figura 6
Frecuencia esperada

Nota. Creación del autor Alfonso Prado Pero si Ha está en lo correcto va a existir una diferencia entre frecuencia observada (ηij) y la esperada (μij) indicando que existe algún fenómeno por detrás que influencia la frecuencia observada. La prueba Xi2 (chisq.test) calcula esta diferencia de la siguiente forma:
Figura 7
Fórmula de Xi2

Nota. Creación del autor Alfonso Prado Mientras mayor sea este indicador mayor las probabilidades de que las variables estén relacionadas, por el contrario, el numerador tiende a 0 . X2 debe ser contrastado contra un Xi-crítico, obtenido en base a la función qchisq, la siguiente figura explica las zonas de aceptación y rechazo de la asociación entre variables para esta distribución
Figura 8
Zonas de aceptación y rechazo de la prueba Xi2

Nota. Creación del autor Alfonso Prado Continuando con el ejemplo
#Obtenemos la tabla de contingencia de agegrp
tab <- table(data$mf, data$agegrp)

#Ejecutamos la prueba Chi2
chisq.test(tab)

#calculando chi-crítico

Al obtener un estadístico chi2 de 254 con un chi-critico de 7.81 concluimos que existen diferencias substanciales lo que indica que la variable es significativa, en otras palabras, el indicador se halla en la zona de rechazo de H0.
Aprende más
Para conocer más sobre Función chisq.test, explica el uso de la función ¡Accede aquí!
Validación Gráfica
Una forma alternativa de validar la significancia de las variables categóricas (factores) con múltiples niveles es mediante un diagrama de mosaico. En estos diagramas el área es directamente proporcional con la frecuencia de ocurrencia de la tabla, y debemos interpretarla de la siguiente forma: Si obtenemos un diagrama muy “regular” indicaría que las dos variables no están relacionadas. La palabra “regular” debemos entenderlo como que las proporciones se mantienen. Por otro lado, si el diagrama es irregular indicaría que algún factor por detrás está afectando a la relación con la variable predictora y, por lo tanto, la variable puede ser significativa para un modelo logístico.
Los siguientes diagramas de mosaico visualizan la relación entre dos variables, figura 7a muestra independencia cuando el diagrama es regular, figura 7b el diagrama es irregular que demuestra que hay una relación.
Figura 9
Diagramas de mosaico para mostrar relacionamiento, variable no significativa (a) y variable significativa (b)
(a)

(b)

Creación del autor: Alfonso Prado
Interpretación de los Coeficientes en Regresión Logística
Un tópico que llama la atención en regresiones logísticas es interpretar los coeficientes del modelo de regresión debido a que están en la escala log-odds. Debemos tener cuidado de convertirlos antes de interpretar los términos de las variables originales.
Recordando la definición de logit.
Figura 10
Fórmula de logit

Nota. Tomado de Agresti (2007) Entonces la función exp(β0) representa las probabilidades de que la característica de éxito esté presente para un individuo x=0, es decir en la línea de base. Si hay múltiples predictores involucrados, todos deberían establecerse en 0 para esta interpretación.
La función exp(βi) representa el aumento multiplicativo en las probabilidades de éxito por cada aumento de 1 unidad en x. Si βi > 0 indica que es una relación positiva, si es negativo entonces el incremento de X decrementa la posibilidad de que se presente el evento.
Por ejemplo, de acuerdo con la siguiente figura, el coeficiente de la variable “MaritalStatus_Divorced” es -1.109 , y su exp(-1.109) es 0.32 , esto debe interpretarse de la siguiente forma: Por cada unidad que aumenta la variable MaritalStatus_divorced el odds de que se presente el evento (no el OR) disminuye en 0.32.
Figura 11
Ejemplo regresión logística del laboratorio

Nota. Creación del autor Alfonso Prado La regresión logística, al igual que la regresión ordinaria, puede tener múltiples variables explicativas.
Algunos o todos estos predictores pueden ser categóricos, en lugar de cuantitativos. Esta sección muestra cómo incluir predictores categóricos, comúnmente llamados factores.
Supongamos que una respuesta binaria Y tiene dos predictores binarios, X y Z. Los datos se representarían en una tabla de contingencia de 2 × 2 × 2.
Si x y z tomaran valores 0 y 1 para representar las dos categorías de cada variable explicativa, el modelo para
P (Y = 1)=logit[P (Y = 1)] = α + β1x + β2z
Para esta codificación, la siguiente tabla muestra los valores logit en las cuatro combinaciones de valores de los dos predictores.
Tabla 3
Modelos logit para 2 variables predictores binarias

Nota. Creación del autor Alfonso Prado Codificación por One Hot para variables categóricas nominales multinivel
Esta codificación, se implementa mediante variables “dummy” usando el paquete R caret. En primer lugar, a partir de una variable categórica X (que debe ser del tipo factor) con p niveles, se crean p variables nuevas y cada una de estas nuevas se asocia de forma individual a un elemento del conjunto Xi.
En segundo lugar, todas las variables nuevas toman el valor de 0, excepto aquella que representa el valor original del registro sin modificar que tomará el valor 1 como se mostraba en los laboratorios de regresión.
Figura 12
Codificación one-hot para variable categórica color

Nota. Fuente Rocha A.(2020) Mejores prácticas en la creación de modelos logísticos
En la selección de variables elimine primero variables que no demuestran correlación o aquellas numéricas que tengan varianza 0 o cercana a 0.
Si existen variables con NAs proceda con las imputaciones que considere necesarias, sin embargo, tome en cuenta que las imputaciones podrían cambiar completamente la forma de los datos
Si utiliza la transformaciones log o BoxCox no centre los datos ni ninguna operación que pueda generar valores negativos, esto le llenará de NAs el dataset. En este caso deberá utilizar YeoJohnson
Aplique one-hot primero. One-Hot da como resultado que los datos estén más dispersos, lo que muchos algoritmos pueden usar de manera eficiente. Si estandariza los datos primero, creará datos densos con los cuales los algoritmos se ejecutarán de manera menos eficiente.
Lo mismo ocurre con la agrupación de categorías, primero haga los agregados y luego codifique con one-hot.
Profundiza más
Este recurso te ayudará a enfatizar sobre Modelos de regresión logística ¡Accede aquí!
-
-
Actividades
-
Métricas para medir la bondad de modelos lineales
-
Introducción
En la presente clase revisaremos más en profundidad los modelos logísticos a fin de entender las transformaciones que se deben realizar, así como las distintas métricas que sirven para evaluar los modelos de clasificación, como veremos, existen varias métricas y su uso y aplicabilidad va a depender de algunos factores y de el propósito general de clasificación.
Un tema de particular importancia será el tratamiento de la data cuando las clases se hallan desbalanceadas, explicaremos los resultados de la métrica cuando esto ocurre, así como los mecanismos para compensar el desbalanceo.
Algoritmo KNN
El algoritmo k vecinos más cercanos (KNN) es un clasificador de aprendizaje supervisado no paramétrico que utiliza la proximidad para hacer clasificaciones o predicciones sobre la agrupación de un punto de datos individual. Es uno de los clasificadores de clasificación y regresión más populares y sencillos que se utilizan en machine learning hoy en día.
Aunque el algoritmo KNN se puede usar para problemas de regresión o clasificación, se suele utilizar como un algoritmo de clasificación, que parte de la suposición de que se pueden encontrar puntos similares cerca unos de otros.
Para los problemas de clasificación, la etiqueta de clase se asigna en función de la mayoría de votos, es decir, se utiliza la etiqueta que se representa con más frecuencia en torno a un punto de datos determinado. Si bien esto se considera técnicamente “votación por pluralidad”, en la literatura se utiliza más comúnmente el término “voto por mayoría”. La distinción entre estas terminologías es que la “votación por mayoría” técnicamente requiere una mayoría superior al 50 %, lo que funciona principalmente cuando solo hay dos categorías. Cuando tiene varias clases, por ejemplo cuatro categorías, no necesita necesariamente el 50 % de los votos para llegar a una conclusión sobre una clase; puede asignar una etiqueta de clase con un voto superior al 25 %.
caret
Caret es una abreviatura de Entrenamiento de Clasificación y Regresión ,es un paquete de R que contiene funciones para optimizar el proceso de entrenamiento de modelos para problemas complejos de regresión y clasificación. El paquete utiliza varios paquetes de R, pero intenta no cargarlos todos al iniciar el paquete (al eliminar las dependencias formales de los paquetes, el tiempo de inicio del paquete se puede reducir considerablemente). El campo "sugerencias" del paquete incluye 31 paquetes. caret carga los paquetes según sea necesario y asume que están instalados. Si falta un paquete de modelado, se le solicita que lo instale.
-
14. Métricas para medir bondad de modelos de clasificación14.1. Matriz de confusión
Antes de entrar en el análisis de las métricas para evaluar la bondad de los modelos es importante saber interpretar los coeficientes de las variables en este tipo de modelos y analizar como llegamos a ellos.
Recordando la definición de logit vista en módulo anterior.
Fórmula
Recordando la definición del Odds
Fórmula
El Odds ratio que nos permite comparar los Odds en dos grupos
Fórmula
Como estamos utilizando modelos GLM queremos que el valor de la respuesta sea igual a la componente sistemática del modelo GLM
Fórmula
Sin embargo, en la función logit el eje X tiene como valores posibles un rango entre 0 y 1
Figura 1
Característica la función logit

Nota. Tomado de Jurafsky D. Martin J. (2024) Por lo tanto, tenemos que invertir a la función logit para que este sea nuestro valor de salida
Fórmula
Lo cual nos da como resultado la siguiente curva característica conocida como sigmoidea.
Figura 2
Característica la función logit invertida

Nota. Tomado de Jurafsky D. Martin J. (2024) La función sigmoidea nos permite tomar una instancia x y calcular la probabilidad P(y = 1|x). ¿Cómo decidimos qué clase aplicar a una instancia de prueba x? Para una x dada, decimos que sí si la probabilidad P(y = 1|x) es mayor que 0,5, y no en caso contrario. Llamamos 0,5 al límite de decisión:
Sin embargo, como el modelo debe ser una función lineal se debe aplicar una transformación de tal forma que sea igual al componente sistemático de GLM, lo cual lo logramos reduciendo la fórmula sigmoidea y aplicando logaritmo a cada lado y obtendríamos:
Fórmula
Entonces la función exp(β0) representa las probabilidades de que la característica (variable) de éxito esté presente para un individuo x=0, es decir en la línea de base. Si hay múltiples predictores involucrados, todos deberían establecerse en 0 para esta interpretación.
La función exp(βi) representa el aumento multiplicativo en las probabilidades de éxito por cada aumento de 1 unidad en x. Si βi > 0 indica que es una relación positiva, si es negativo entonces el incremento de X decrementa la posibilidad de que se presente el evento.
Por ejemplo, de acuerdo con el modelo creado en la clase anterior el coeficiente de la variable “MaritalStatus.Single” es 0.8421 , y el exp(0.8421) es 2.32. Esto debe interpretarse de la siguiente forma: Por cada unidad que aumenta la variable MaritalStatus.Single el odds (no el OR) de que se presente la renuncia aumenta en 2.32.
Note que en este modelo se ha aplicado la codificación One-Hot previamente, por esto existen 3 variables “dummy” correspondiente a los 3 niveles del factor. Por otro lado, si la fórmula hubiera sido Attrition~MaritalStatus, glm habría implementado automáticamente la codificación mediante variables dummy, esta es similar a one-hot excepto que se habrían creado solo 2 variables dummy, más una categoría de referencia, cuando todas las demás variables dummy sean 0 esa categoría se usará como valor base del modelo.
Figura 3
Modelo creado en la clase anterior

Nota. Creación de autor Alfonso Prado 14.2. Curvas Características de la SeparabilidadEs importante mencionar que para optimizar el rendimiento de cualquier modelo debe primero realizarse las actividades de limpieza de datos, pre procesamiento que incluye la gestión de datos atípicos, transformaciones, normalización entre otros.
Luego nos preguntamos ¿cómo podemos medir la efectividad de nuestro modelo en términos de eficiencia, rendimiento y precisión? Ahí entra la matriz Confusión.
De acuerdo a Hilbe (2015), esta matriz es la medida del rendimiento para la clasificación y es ampliamente utilizada en el aprendizaje automático (ML).
La matriz de confusión es un tipo especial de tabla de contingencia, de dos dimensiones ("real" y "predicha") y conjuntos idénticos de "clases" en ambas dimensiones (cada combinación de dimensión y clase es una variable en la tabla de confusión). El nombre proviene del hecho de que facilita ver si el sistema está confundiendo dos clases (es decir, etiquetando erróneamente una como otra). Generalmente, las tablas contienen la predicción en las filas y los valores actuales (observaciones) en las columnas, aunque hay autores que lo colocan al revés.
Tabla 1
Tabla de confusión métricas y fórmulas, Prado (2025)

Nota. Adaptación de la tabla https://www.doptsw.com/posts/post_2024-10-02_c1345 En la tabla vamos a identificar entonces 4 valores:
- Verdaderos positivos: Identificados como TP predicción positiva y en realidad es positivo.
- Falsos positivos: Identificados como FP predicción positiva y en realidad es negativo
- Falsos negativos: Identificados como FN predicción negativa y en realidad es positivo.
- Verdaderos negativos: Identificados como TN predicción negativo y en realidad es negativo
Métricas de la tabla de confusión
Basados en la matriz de confusión podemos establecer algunos indicadores de la eficiencia del modelo:
Accuracy: Simplemente mide con qué frecuencia el clasificador hace la predicción correcta. Es la relación entre el número de predicciones correctas y el número total de predicciones, se utiliza cuando los verdaderos positivos y los verdaderos negativos son más importantes.
Sensibilidad: Calculada como el número de predicciones positivas correctas dividido por el número total de positivos reales (observaciones). Algunos autores la denominan recuperación (REC) o tasa de verdaderos positivos (TPR).
Especificidad: Calculada como el número de predicciones negativas correctas dividido por el número total de negativos. Algunos autores la denominan tasa negativa verdadera (TNR).
Tasa de Falsos Positivos (FPR): Se define como la relación entre falsos positivos y la suma de falsos positivos más verdaderos negativos. Es el inverso de la especificidad (1-especificidad).
Precisión: Representa la proporción de casos positivos que se predicen correctamente dividido para el total de casos positivos que se predicen. La diferencia entre sensibilidad y precisión radica en que la sensibilidad se calcula en base a los casos reales (observaciones) que son positivos, mientras que la precisión se calcula en base a las predicciones positivas.
La pregunta que nos hacemos es ¿Cuál de las métricas deberíamos utilizar? Todos los indicadores anteriores sirven para verificar una parte del modelo, por ejemplo, que tan bien se predice los TP o TN y funcionan bien cuando la data esta balanceada. Se considera que la data es balanceada cuando la cantidad de casos de cada clase es similar y desbalanceada cuando existen diferencias significativas.
Veamos un ejemplo: Asuma que tenemos 1000 casos positivos de los cuales el 90% son predichos correctamente y 10% incorrectamente. Asuma que tenemos 50 casos negativos de los cuales podemos predecir correctamente el 50%. De la Tabla 1 obtenemos: TPR=900/925 =0.97 =97% y TNR=25/125=0.2 =20% . Notamos que TPR (REC) está sobreestimado y TNR esta subestimado, este es el efecto que se obtiene cuando la data no está balanceada.
En estos casos debemos recurrir a la métrica llamada F1 o a las curvas características que resumen de mejor manera la eficiencia del modelo.
Figura 4
Fórmula de la métrica F1

Nota. Adaptación de la fórmula de Hilbe J., (2015) Aprende más
Para conocer más sobre Métrica F1, cuando y como utilizar esta métrica ¡Accede aquí!
Otras alternativas posibles en caso de data desbalanceada consisten en previamente balancear la misma en forma manual, para luego entrenar el modelo. Existen dos técnicas para balancear conocidas como: Undersampling y Oversampling:
- El “Under-sampling” (sub muestreo) funciona reduciendo el tamaño de la clase mayoritaria para que coincida con la clase menos prevalente.
- El “over-sampling” (sobre muestreo) se utiliza para aumentar el tamaño de muestras minoritarias. La técnica conocida como SMOTE (Synthetic Minority Oversampling Technique) ofrece esta posibilidad en el paquete .
La siguiente figura explica el concepto
Figura 5
Undersampling (sub muestreo) y Oversampling (sobre muestreo)

Nota. Fuente: Roweida M. Et. Al. (2020) La implementación del sub muestreo es relativamente fácil, implica eliminar una cierta cantidad de observaciones, pero en sobre muestreo se podría pensar en duplicar las observaciones de dicha clase lo cual equilibrará la distribución de clases, pero esto no mejorará el rendimiento del modelo, ya que no le proporciona información adicional.
SMOTE
Esta técnica selecciona los ejemplos minoritarios que están cerca del espacio de características. En ML las “características” son sinónimo de variables y por lo tanto el espacio de características son el espacio de valores de dicha variable. Dentro de este espacio, SMOTE crea una nueva muestra en algún lugar y le asigna el valor del vecino más cercano utilizando el algoritmo de KNN (K Nearest Neighbors). En otras palabras, el algoritmo crea un ejemplo aleatorio cuya clase se fija de acuerdo con el K vecino más cercano. Esta observación “sintética” se crea entre dos ejemplos en el espacio de características.
El uso de SMOTE tiene una desventaja, ya que no considera la clase mayoritaria al crear ejemplos sintéticos. En otras palabras, el algoritmo funciona bien cuando las clases están bien separadas, esto puede causar problemas cuando hay una superposición entre las clases.
Aprende más
Para conocer más sobre SMOTE, presenta detalle para su implementación ¡Accede aquí!
Veamos un ejemplo con SMOTE
#Validamos si la data esta balanceada
prop.table(table(data$Attrition))

#Obviamente no está balanceada
#En este caso utilizaremos la función downSample cuya sintaxis es:
#downSample(x, y, list = FALSE, yname = "Class")
#x=lista de variables predictoras
#y=variable de clase, en este caso Attrition
#list=FALSE indica que es un dataframe
#yname= nombre de la etiqueta de clase
set.seed(100)
dataBalanceada <- ::downSample(x=data %>% select(-Attrition) ,
y=data$Attrition,
yname="Attrition")
prop.table(table(dataBalanceada$Attrition))

#Ahora deberíamos repetir la creación y análisis de la matriz de confusión para asegurar que sensibilidad y especificidad están correctos
En última instancia, la mejor métrica es la que le conviene al negocio. Por ejemplo, asuma que el cliente está usando un modelo de clasificación para detectar transacciones fraudulentas. En este caso el cliente estará más interesado en calcular la sensibilidad, en otros negocios el cliente puede enfocarse más bien en los casos negativos y en este caso utilizará la especificidad.
Estas curvas permiten visualizar la separabilidad entre clases, idealmente, se desea que las observaciones positivas sean predichas como positivas y lo mismo con las negativas. Pero en la práctica los modelos nunca son perfectos.
Estas curvas ayudan a visualizar la bondad de un modelo de clasificación.
Curvas Características de la Separabilidad
Curva ROC
Una curva ROC es un gráfico que muestra el rendimiento de un modelo de clasificación en todos los umbrales de clasificación. Esta curva usa dos métricas en sus ejes, la tasa de verdaderos positivos TPR (sensibilidad) y la tasa de falsos positivos FPR (1-especificidad).
En principio desearíamos que la sensibilidad sea lo más grande posible, mientras el FPR sea lo más bajo posible. La gráfica resultante sería la figura 7(a)
En la medida que el modelo empieza a perder su capacidad de discriminar, entre clases positiva y negativa, la curva empieza a acercarse a una diagonal. Cuando llega a ser una diagonal es la peor situación porque indica que el modelo no puede discriminar entre clases y por lo tanto no es utilizable.
Cuando la tasa de falsos positivos llega a ser igual a1 el modelo en realidad está invirtiendo las clases. Significaría que el modelo predice una clase negativa como una clase positiva y viceversa, en cuyo caso la curva ROC se mira como en la figura 7(c). Dado que TPR y FPR tiene un valor máximo de 1 , el área bajo la curva tendrá un valor de 1.
De acuerdo a Hilbe (2015) “Los valores de 0,5 a 0,65 tienen un poder predictivo bajo. Los valores de 0,65 a 0,80 tienen un valor predictivo moderado. Muchos modelos logísticos se ajustan a este rango. Los valores superiores a 0,8 e inferiores a 0,9 generalmente se consideran de alto poder predictivo”
La curva se crea basado en un umbral del valor de la variable, para cada umbral escogido se calcula las dos métricas mencionadas y se gráfica el punto que luego se une por medio de una curva, dando como resultado la siguiente figura.
Figura 6
Casos extremos de la curva ROC
Creación del autor Alfonso Prado
Modelo ideal(a)
Modelo sin capacidad de discriminación(b)
Modelo invierte las clases(c)



Figura 7
Curva ROC de un modelo real

Nota. Creación del autor Alfonso Prado A fin de poder comparar modelos se estila calcular el área bajo la curva, de esta manera pequeñas diferencias entre curvas de distintos modelos son fáciles de notar. Un modelo excelente tiene AUC cerca de 1, lo que significa que tiene una buena medida de separabilidad entre las clases. Un modelo pobre tiene un AUC cercano a 0.5 lo que significa que tiene la peor medida de separabilidad, esto es, no puede distinguir entre una clase y otra, y no es mejor que clasificar al azar. Medidas menores a 0.5 indicaría que los casos positivos se predicen como negativos y viceversa.
Curva PR sensibilidad vs precisión
La curva PR es la gráfica resultante de relacionar la precisión y la sensibilidad (REC o TPR) de un modelo. Nos permite ver a partir de qué valor de sensibilidad obtenemos una degradación de la precisión.
Note que en realidad lo que está comparando es FP y FN, es decir la diagonal secundaria. En un modelo perfecto sería aquel que pase por el punto (1,1), por tanto, cuanto más se acerque a esa esquina superior derecha mejor es el comportamiento del modelo.
Al igual que con la curva ROC, también se puede calcular el área bajo la curva.
Es preferible usar esta curva en vez de la curva ROC en casos en los que exista un desbalanceo en las clases. Esto se debe a que la curva ROC puede dar una visión optimista del modelo por la dependencia de los falsos negativos que en conjuntos con clases desbalanceadas aumentará.
Figura 8
Curva precisión vs sensibilidad

Nota. Creación del Autor Alfonso Prado Profundiza más
Este recurso te ayudará a enfatizar sobre Modelos de regresión logística ¡Accede aquí!
-
-
Actividades
-