Clase 6: Clasificación

Eje II: Aprendizaje supervisado

Objetivo

Aplicar métodos de clasificación para predecir variables cualitativas y evaluar su desempeño. La clase construye la regresión logística desde la recta de la Clase 5: por qué esa recta no sirve cuando la respuesta es un sí/no, qué hay que transformar para poder seguir usándola, y cómo se mide si el clasificador que sale de ahí es bueno.

Contenidos

  • Clasificación o regresión: la misma pregunta cambia de método según si la respuesta es un número o una categoría.
  • Por qué una recta no sirve para un sí/no: predice probabilidades fuera de [0, 1], y con más de dos clases ni siquiera se puede empezar.
  • De la recta a la probabilidad: odds, log(odds) y por qué la regresión logística modela el log(odds) y no la probabilidad. De ahí sale la curva S.
  • El efecto no constante: a diferencia de la recta, sumar una unidad de x no suma siempre lo mismo.
  • Cómo se ajusta: máxima verosimilitud en vez de mínimos cuadrados.
  • Leer la tabla de coeficientes: β en escala de log(odds), e^β como odds ratio, el error estándar y el p-valor.
  • Evaluación: matriz de confusión, exactitud contra el clasificador nulo, sensibilidad y especificidad, precisión y F1, el umbral como perilla y sus trade-offs, y la curva ROC con su AUC.
  • Regresión logística múltiple: un β se lee según con qué otros β esté. Y, por arriba, la logística multinomial para más de dos clases.
NotaNimbus, las mismas tablas de la Clase 4

La clase sigue con Nimbus y con la misma pregunta de la Clase 4 (¿quién va a renunciar?), pero cambia el modelo: donde KNN miraba a los vecinos, hoy hay una fórmula. No hay tabla nueva: son las tres de la Clase 4, unidas por empleado_id.

La variable de hoy es camara_apagada, los minutos con la cámara apagada por weekly. De los 600 empleados, 420 van a entrenamiento y 180 a testeo.

Notebooks

La notebook se recorre en clase de principio a fin. Arma la tabla, parte en entrenamiento y testeo, ajusta la logística con statsmodels y lee su tabla de coeficientes, predice a mano para un empleado nuevo (recta → e elevado → odds → probabilidad) y verifica que predict dé lo mismo, y después evalúa: matriz de confusión, exactitud contra el piso, sensibilidad y especificidad, el umbral como perilla, precisión y F1, y la ROC con su AUC. Cierra comparando dos modelos por AUC, que es lo que motiva el último bloque de las diapositivas.

Lenguaje Leer en el sitio Ejecutar en Colab Descargar
Python Notebook renderizada Open in Colab .ipynb
Tip

Igual que la Clase 4, esta clase no tiene par en R: el recorrido está sólo en Python. Quien quiera reproducirlo en R puede hacerlo con glm(..., family = binomial) para el ajuste y con el paquete pROC para la curva ROC y la AUC, pero la versión de referencia de la materia es la de Python.

Los datos

Los tres archivos se leen por URL desde la notebook, sin bajar nada.

Archivo Contenido URL
nimbus_empleados.csv 600 empleados: sede, área, género, educación, antigüedad, grupo /data/toy-nimbus/nimbus_empleados.csv
nimbus_salario.csv salario mensual y edad, 2023-2025 /data/toy-nimbus/nimbus_salario.csv
nimbus_rrhh.csv renuncia (Sí/No) y tres señales de comportamiento: faltas, weeklys perdidas y minutos con la cámara apagada /data/toy-nimbus/nimbus_rrhh.csv

Slides

Diapositivas de la clase

El trabajo integrador

Los últimos minutos de la clase son para el trabajo integrador. No es aplicar regresión logística al TP: es el paso que toca en el cronograma del trabajo, independientemente del método que se vio hoy.

NotaLo que ya tienen (o, mejor dicho, lo que ya deberían tener 🙂)
  • Clase 3: el diagnóstico descriptivo de la base.
  • Clase 4: la pregunta, con su target, sus features y su foco.
  • Clase 5: la justificación: por qué importa y qué esperan encontrar.
ImportanteLo de hoy: un análisis exploratorio dirigido a la pregunta

1. Tres o cuatro figuras, sólo sobre las variables de la pregunta. No la base entera: eso fue la Clase 3.

2. Para cada variable, su tipo, y para cada figura, el gráfico adecuado a ese tipo.

3. Un párrafo por figura: ¿va en la dirección esperada según lo que escribieron la clase pasada? ¿Aparece algo llamativo?

NotaEl hito de la clase que viene

Para la Clase 7 (19/09): al menos tres figuras pertinentes a la pregunta, cada una con su interpretación.

Lecturas

Obligatoria:

  • James, G., Witten, D., Hastie, T., Tibshirani, R. & Taylor, J. (2023). An Introduction to Statistical Learning with Applications in Python (capítulo 4, parcial). Springer. Disponible completo en https://www.statlearning.com/. No es el capítulo entero: van §4.1 y §4.2, §4.3 completa, la parte de evaluación de §4.4.2 y el laboratorio §4.7.1–§4.7.2. Quedan afuera LDA, QDA y naive Bayes. El detalle está en la bibliografía.

Complementaria:

  • James, G., Witten, D., Hastie, T. & Tibshirani, R. (2021). An Introduction to Statistical Learning with Applications in R (2.ª ed., capítulo 4). Springer. El mismo capítulo en R.

Recursos de consulta:

  • StatQuest, Logistic Regression: la serie de videos sobre la que está armada la clase. Los de odds, log(odds), máxima verosimilitud y curva ROC cubren, uno por uno, los bloques de las diapositivas.
  • Documentación de Logit en statsmodels, que es la que devuelve la tabla de coeficientes con errores estándar y p-valores.
  • Métricas de clasificación en scikit-learn: matriz de confusión, precisión, recall, F1 y AUC.