Clase 10: Clustering: K-means y clustering jerárquico
Eje III: Aprendizaje no supervisado
Objetivo
Segunda clase de aprendizaje no supervisado. La clase pasada, PCA resumió muchas columnas en pocas componentes; hoy miramos la tabla para el otro lado y buscamos grupos de filas: personas que se parecen entre sí, sin que nadie nos diga de antemano cuáles son.
Se ven los dos métodos clásicos, K-means y el clustering jerárquico, y las dos decisiones que ninguno toma por nosotros: cuántos grupos y dónde cortar. PCA vuelve como la ventana para mirar los grupos en dos dimensiones.
Contenidos
- PCA resume columnas, clustering agrupa filas. Agrupar por juicio experto o por datos, y un caso real: los cuatro tipos de personalidad de Gerlach y colegas (2018).
- K-means: K como un número que se elige antes, la variación dentro de los grupos (W), el centroide y la receta del algoritmo (tirar, asignar, mover, repetir).
- Mínimo local y mínimo global: por qué se corre muchas veces y se queda la de menor W.
- Cuántos grupos: el método del codo. Ponerles nombre a los grupos y chequearlos con algo que no entró al clustering, como la renuncia.
- Clustering jerárquico: el dendrograma, cómo se lee (por la altura, no por el costado), el linkage y dónde cortar el árbol. Cuándo conviene K-means y cuándo el jerárquico.
- Lo que quedó de la clase pasada: escalar antes de agrupar, el data leakage y el
Pipeline, y el grupo como variable para predecir. - Ajuste de hiperparámetros: grid search y validación cruzada anidada.
nimbus_patrones.csv trae, para los mismos 600 empleados, nueve medidas de cómo trabajan: seis salen de las herramientas de trabajo (horas, horas fuera de horario, minutos de reunión, mensajes, contactos y capacitación) y tres de una encuesta (compromiso, agotamiento y si recomendarían la empresa). Nimbus es simulada: los grupos que aparecen están puestos a propósito, y eso permite chequear que los métodos los encuentran.
Notebooks
La notebook se concentra en los dos métodos. Mira los datos en el plano de PCA, corre K-means, prueba qué pasa con distintos K y elige K con el codo. Después arma el dendrograma, mueve la línea de corte y compara los grupos del árbol con los de K-means. Tiene tres consignas.
| Lenguaje | Leer en el sitio | Ejecutar en Colab | Descargar |
|---|---|---|---|
| Python | Notebook renderizada | .ipynb |
La versión en R de esta clase no está publicada.
Los datos
El archivo se lee por URL desde la notebook, sin bajar nada.
| Archivo | Contenido | URL |
|---|---|---|
nimbus_patrones.csv |
las nueve medidas de cómo trabaja cada empleado | /data/toy-nimbus/nimbus_patrones.csv |
Slides
Lo que viene
La Clase 11 empieza con texto: análisis de sentimiento, bolsa de palabras y embeddings.
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, sección 12.4 (clustering). PDF gratuito oficial en https://www.statlearning.com/.
Recursos de consulta:
- Gerlach, M., Farb, B., Revelle, W. & Nunes Amaral, L. A. (2018). A robust data-driven approach identifies four personality types across four large data sets. Nature Human Behaviour, 2, 735-742. https://doi.org/10.1038/s41562-018-0419-z. El ejemplo de las slides.
- La documentación de scikit-learn sobre clustering y la de
scipy.cluster.hierarchy, de donde salenlinkage,dendrogramyfcluster.