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.
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 | .ipynb |
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
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.
- 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.
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?
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
Logiten 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.