Clase 9: Reducción de dimensionalidad (PCA)
Eje III: Aprendizaje no supervisado
Objetivo
Empezar el aprendizaje no supervisado: ya no hay una columna de respuesta, y la pregunta pasa a ser qué estructura hay adentro de los datos. La clase se concentra en el análisis de componentes principales (PCA), la herramienta para resumir muchas medidas que dicen casi lo mismo en unas pocas que se pueden nombrar, como se hizo con los cinco factores del Big Five.
La segunda mitad vuelve a lo supervisado desde otro lado: PCA como preprocesado de un modelo. Ahí aparecen el escalado, la diferencia entre elegir variables y construirlas, y el error que más fácil se comete al preprocesar: el data leakage.
Contenidos
- Reducir dimensiones: del Big Five (muchos adjetivos, cinco factores) a la batería cognitiva del estudio ABCD (nueve tareas, tres componentes).
- PCA paso a paso con dos medidas: centrar, buscar la dirección de máxima varianza y ver que es la misma recta que queda más cerca de los puntos (y por qué no es la de regresión).
- Loadings, scores, autovalores y la PC2 perpendicular; el signo es arbitrario.
- Con once medidas: varianza explicada, scree plot y el codo, la regla de Kaiser, el biplot y ponerles nombre a las componentes.
- Más allá de lo lineal: t-SNE y UMAP, para qué sirve cada uno y qué no garantizan.
- Escalado: qué pasa con PCA si no se escala, z-score y min-max, y qué modelos lo necesitan.
- PCA como preprocesado: una componente predice la renuncia igual que once medidas; qué se gana y qué se pierde (interpretabilidad).
- Selección contra extracción de variables.
- Data leakage: un experimento con ruido puro en el que preprocesar con todos los datos da una AUC perfecta y falsa.
- El
Pipeline: todo lo que aprende de los datos se ajusta adentro de cada fold, y la cantidad de componentes se elige por validación cruzada.
nimbus_desempeno.csv trae, para los mismos 600 empleados, once medidas que salen de sistemas distintos (objetivos, entregas, tareas, evaluación del líder y de los pares, mentoría, revisiones…). Se une con nimbus_rrhh.csv, la tabla de renuncias de las clases 4, 6 y 8, por empleado_id. Nimbus es simulada: la estructura que PCA encuentra (dos componentes, cumplimiento y colaboración) está puesta a propósito, y eso permite chequear que la encuentra.
Notebooks
La notebook de Python ajusta un PCA con dos medidas y después con las once, y lo dibuja (la nube con sus dos componentes, el scree plot y el biplot). Después enseña a armar y usar un Pipeline (escalar, PCA y logística) para predecir la renuncia, y cierra con una comparación corta entre PCA, t-SNE y UMAP sobre dígitos escritos a mano.
| Lenguaje | Leer en el sitio | Ejecutar en Colab | Descargar |
|---|---|---|---|
| Python | Notebook renderizada | .ipynb |
|
| R | Notebook renderizada | .ipynb |
Los datos
Los dos archivos se leen por URL desde la notebook, sin bajar nada.
| Archivo | Contenido | URL |
|---|---|---|
nimbus_desempeno.csv |
las once medidas de desempeño | /data/toy-nimbus/nimbus_desempeno.csv |
nimbus_rrhh.csv |
la renuncia (renuncia) |
/data/toy-nimbus/nimbus_rrhh.csv |
Los dígitos escritos a mano de la sección de métodos no lineales son el dataset Optical Recognition of Handwritten Digits del repositorio UCI: Python lo trae con scikit-learn (load_digits) y R lo baja del repositorio UCI.
Slides
Lo que viene
La Clase 10 es clustering: con las componentes de hoy ya se puede dibujar a cada empleado en un plano, y la pregunta siguiente es si ahí hay grupos.
Lecturas
Obligatoria:
- James, G., Witten, D., Hastie, T., Tibshirani, R. & Taylor, J. (2023). An Introduction to Statistical Learning with Applications in Python (ISLP), capítulo 12, secciones 12.1 y 12.2. PDF gratuito oficial en https://www.statlearning.com/. La sección 6.3.1 cuenta cómo usar las componentes para predecir, y el supuesto que eso implica.
Recursos de consulta:
- Thompson, W. K., Barch, D. M., Bjork, J. M., Gonzalez, R., Nagel, B. J., Nixon, S. J. & Luciana, M. (2019). The structure of cognition in 9 and 10 year-old children and associations with problem behaviors: Findings from the ABCD study’s baseline neurocognitive battery. Developmental Cognitive Neuroscience, 36, 100606. https://doi.org/10.1016/j.dcn.2018.12.004. El ejemplo de PCA sobre la batería cognitiva.
- Hastie, T., Tibshirani, R. & Friedman, J. (2009). The Elements of Statistical Learning, sección 7.10.2 (“The wrong and right way to do cross-validation”), el origen del experimento de leakage. PDF gratuito en https://hastie.su.domains/ElemStatLearn/.
- Kapoor, S. & Narayanan, A. (2023). Leakage and the reproducibility crisis in machine-learning-based science. Patterns, 4(9), 100804. https://doi.org/10.1016/j.patter.2023.100804.
- La guía Common pitfalls and recommended practices de scikit-learn, sobre preprocesado inconsistente y leakage, y la documentación de
PCAy dePipeline.