-
1. K-means con k=4 sobre las 8 columnas sin escalar da tamaños [1051, 132, 281, 36] y centros que solo se distinguen por monto_carrito_mxn (146, 1719, 4756 y 9130 MXN). ¿Por qué?
La distancia euclidiana suma diferencias al cuadrado; el monto tiene varianza 3,722,205 contra 88.2 de paginas, así que decide solo. Con StandardScaler todas las columnas pesan parecido y el ARI contra el tipo oculto sube de 0.202 a 0.849.
-
2. Al recorrer k de 2 a 8 sobre las sesiones escaladas, la inercia baja siempre (6983.2, 5063.0, 3513.2, 3190.4…) y el silhouette es 0.456, 0.414, 0.479, 0.449… ¿Qué k conviene y por qué?
La inercia siempre baja al agregar grupos, así que no se busca su mínimo sino el codo: cae 1549.8 de 3 a 4 y solo 322.8 de 4 a 5. El silhouette tiene su máximo en 4. Ambos criterios coinciden.
-
3. Con KMeans(4, n_init=10, random_state=42) ajustado sobre Xs = sc.fit_transform(X), ¿cómo se obtienen los centros en páginas, minutos y pesos para ponerle nombre a cada grupo?
cluster_centers_ está en unidades escaladas; inverse_transform del mismo escalador los regresa a unidades originales (por ejemplo, el grupo 3: 3.7 productos al carrito y 5158 MXN).
-
4. AgglomerativeClustering(4) con linkage="ward" da tamaños [679, 379, 305, 137] y ARI 0.890 contra K-means; con linkage="single" da [1497, 1, 1, 1]. ¿Qué se concluye?
El enlace define la distancia entre grupos. Single usa el par de puntos más cercano y tiende a encadenar todo en un grupo gigante; ward minimiza la varianza dentro de los grupos, igual que K-means, y por eso se le parece.
-
5. Con init="random" y n_init=1, seis semillas dan inercias 5051.5, 3513.2, 3513.2, 3513.2, 4772.0 y 4862.6. ¿Qué indica y qué se hace?
K-means converge a un mínimo local que depende de los centros iniciales; 3 de 6 semillas quedan en una solución peor. Con n_init=10 se repite el ajuste con 10 inicios y se conserva el de menor inercia (3513.2).