Clustering y PCA: cómo encontrar grupos y simplificar datos
El clustering es una técnica de aprendizaje no supervisado que agrupa registros parecidos entre sí sin que nadie le haya dicho previamente cuáles son los grupos. El algoritmo más usado es k-means, que exige decidir de antemano cuántos grupos quieres y funciona bien con grupos redondeados de tamaño similar; DBSCAN, en cambio, descubre el número de grupos solo, encuentra formas irregulares y marca los puntos raros como ruido. El PCA o análisis de componentes principales es otra técnica no supervisada, pero con un objetivo distinto: reducir muchas variables correlacionadas a unas pocas nuevas que conservan la mayor parte de la información.
Tabla de contenidos
Respuesta rápida: El clustering es una técnica de aprendizaje no supervisado que agrupa registros parecidos entre sí sin que nadie le haya dicho previamente cuáles son los grupos. El algoritmo más usado es k-means, que exige decidir de antemano cuántos grupos quieres y funciona bien con grupos redondeados de tamaño similar; DBSCAN, en cambio, descubre el número de grupos solo, encuentra formas irregulares y marca los puntos raros como ruido. El PCA o análisis de componentes principales es otra técnica no supervisada, pero con un objetivo distinto: reducir muchas variables correlacionadas a unas pocas nuevas que conservan la mayor parte de la información.
Aprender sin respuestas
En el aprendizaje supervisado le muestras al modelo ejemplos con la respuesta correcta: estos clientes se fueron, estos se quedaron, aprende a distinguirlos. En el no supervisado no hay respuesta: le das los datos y le pides que encuentre estructura por su cuenta.
Su contraparte, el aprendizaje supervisado, trabaja con ejemplos etiquetados y sus modelos base son el árbol de decisión, KNN y Naive Bayes.
Las dos familias que de verdad se usan son estas: clustering para encontrar grupos, y reducción de dimensionalidad para simplificar. Las dos aparecen en el temario de cualquier curso serio de datos y las dos resuelven problemas de negocio concretos.
Clustering: encontrar grupos que nadie definió
Tienes 50 mil clientes y ninguna segmentación. Podrías inventar reglas a mano ("los que compran más de mil son premium") pero eso es tu criterio, no lo que dicen los datos.
El clustering hace lo contrario: mira el comportamiento de los 50 mil y te dice cómo se agrupan naturalmente. Quizá aparecen cinco perfiles que nunca se te habrían ocurrido: el que compra mucho una vez al año, el que compra poco pero cada semana, el que solo compra en campaña.
Sus usos más frecuentes: segmentación de clientes, agrupación de productos por patrón de venta, detección de comportamientos anómalos y organización de documentos por tema.
K-means: el más usado
Funciona así, y entenderlo ayuda a saber cuándo falla:
- Tú decides cuántos grupos quieres. Ese es el valor de k.
- El algoritmo coloca k centros al azar.
- Asigna cada punto al centro más cercano.
- Recalcula cada centro como el promedio de los puntos que le tocaron.
- Repite los pasos 3 y 4 hasta que los centros dejan de moverse.
Es rápido y simple, y por eso es el estándar. Pero tiene tres límites que hay que tener presentes:
- Tienes que decidir k de antemano, y casi nunca sabes cuántos grupos hay.
- Asume grupos redondeados y de tamaño parecido. Con grupos alargados o de tamaños muy distintos, los parte mal.
- Es sensible a la escala. Si una variable está en soles y otra en años, la de soles domina la distancia y el resultado no tiene sentido. Hay que estandarizar antes, siempre.
Ese último punto es el error más frecuente en la práctica y no da ningún aviso: el algoritmo corre, produce grupos y esos grupos están mal.
El método del codo: cuántos grupos pedir
Como k-means te obliga a elegir el número de grupos, hay que estimarlo. El método del codo es el más usado:
- Corres k-means con k igual a 2, 3, 4 y así hasta 10.
- Para cada k mides qué tan compactos quedaron los grupos.
- Graficas esa medida contra k.
- Buscas el punto donde la curva deja de bajar bruscamente y se aplana. Ese quiebre es el codo.
La lógica: agregar grupos siempre mejora la compactación (con un grupo por cliente sería perfecta y completamente inútil). El codo marca el punto donde seguir agregando ya no aporta lo suficiente.
En la práctica el codo muchas veces no es claro y hay que decidir con criterio de negocio. Y ahí va mi recomendación honesta: si el algoritmo dice 7 grupos pero tu equipo comercial solo puede operar 3 estrategias distintas, usa 3. Una segmentación que nadie puede ejecutar no sirve de nada.
DBSCAN: cuando no sabes cuántos grupos hay
DBSCAN trabaja con densidad en vez de con distancia a un centro: agrupa los puntos que están rodeados de muchos vecinos cercanos, y deja fuera los que están aislados.
| K-means | DBSCAN | |
|---|---|---|
| Número de grupos | Lo defines tú | Lo descubre solo |
| Forma de los grupos | Redondeados | Cualquier forma |
| Valores atípicos | Los mete a la fuerza en algún grupo | Los marca como ruido |
| Velocidad | Muy rápido | Más lento |
| Parámetros a ajustar | Solo k | Radio y mínimo de vecinos |
Esa fila de los valores atípicos es la ventaja más práctica. K-means obliga a cada punto a pertenecer a un grupo, así que un cliente rarísimo termina metido en algún segmento y lo distorsiona. DBSCAN lo marca como ruido, y de paso eso lo convierte en una herramienta de detección de anomalías.
PCA: reducir variables sin perder información
El análisis de componentes principales resuelve otro problema. Tienes 40 variables por cliente y muchas dicen prácticamente lo mismo: gasto total, gasto promedio, número de compras, ticket promedio. Están tan correlacionadas que aportan información repetida.
PCA construye variables nuevas, llamadas componentes, que son combinaciones de las originales, ordenadas de mayor a menor según cuánta información conservan. Muchas veces los primeros 3 o 4 componentes retienen el 80 o 90 por ciento de la variabilidad de las 40 originales.
Para qué sirve en la práctica:
- Visualizar: no puedes graficar 40 dimensiones, pero sí puedes graficar los 2 primeros componentes y ver la estructura de tus datos.
- Acelerar modelos: menos variables significa entrenamiento más rápido.
- Quitar redundancia: los componentes que produce no están correlacionados entre sí, así que elimina la multicolinealidad de un golpe.
- Reducir ruido: los últimos componentes suelen capturar variación sin señal.
El costo, y es real: los componentes no se pueden interpretar directamente. El componente 1 puede ser algo como "0.4 por gasto más 0.3 por frecuencia menos 0.2 por antigüedad", que matemáticamente funciona y no significa nada explicable en una reunión. Si necesitas explicar el modelo a alguien, PCA te lo dificulta.
Y como con k-means: hay que estandarizar antes, porque PCA se basa en la varianza y una variable con números grandes dominaría los componentes solo por su escala.
Preguntas frecuentes
¿Qué es el clustering?
Es una técnica de aprendizaje no supervisado que agrupa registros parecidos entre sí sin que nadie haya definido previamente los grupos. Se usa para segmentar clientes, agrupar productos por patrón de venta y detectar comportamientos anómalos.
¿Cómo funciona el algoritmo k-means?
Colocas k centros al azar, asignas cada punto al centro más cercano, recalculas cada centro como el promedio de sus puntos y repites hasta que los centros dejan de moverse. Exige decidir el número de grupos de antemano y requiere estandarizar las variables antes.
¿Cómo elijo el número de clusters?
Con el método del codo: corres k-means con distintos valores de k, mides qué tan compactos quedan los grupos, lo graficas y buscas el punto donde la curva se aplana. Si el codo no es claro, decide con criterio de negocio según cuántas estrategias distintas puedes ejecutar.
¿Cuál es la diferencia entre k-means y DBSCAN?
K-means exige que definas el número de grupos, asume formas redondeadas y mete todos los puntos en algún grupo. DBSCAN descubre el número solo, encuentra formas irregulares y marca los puntos aislados como ruido, lo que lo hace útil también para detectar anomalías.
¿Qué es el análisis de componentes principales?
Es una técnica que reduce muchas variables correlacionadas a unas pocas variables nuevas, llamadas componentes, que conservan la mayor parte de la información. Sirve para visualizar datos de muchas dimensiones, acelerar modelos y eliminar redundancia entre variables.
¿Cuándo conviene usar PCA?
Cuando tienes muchas variables que dicen cosas parecidas, cuando necesitas visualizar datos de alta dimensión o cuando quieres eliminar multicolinealidad. El costo es que los componentes resultantes no se pueden interpretar directamente, así que evítalo si necesitas explicar el modelo.
Machine learning no se aprende memorizando fórmulas
La IA ya escribe el código del modelo. Lo que decide es saber qué técnica corresponde, si el resultado tiene sentido y cómo se lee. Eso es lo que enseño en el curso de SQL + Python, que incluye siete módulos de machine learning con proyectos y datasets reales. En vivo.
Formate con Gera
¿Quieres aprender datos?
Cursos en vivo de SQL, Python y Power BI con Gera. Clases por Zoom, datos reales y feedback directo. Tambien hacemos capacitacion in-company.
Ver cursos de datos