Cuando no hay clases dadas, el agrupamiento busca las que caen juntas naturalmente (Witten et al., 2017, p. 45). El algoritmo más conocido es k-means (MacQueen, 1967): se eligen k centros iniciales, cada punto se asigna al centro más cercano, cada centro se mueve al promedio de sus puntos, y se repite hasta que nada cambia (Witten et al., 2017, p. 142). Hay variantes jerárquicas, que producen árboles de grupos dentro de grupos, y probabilísticas, en las que cada elemento pertenece a cada grupo con cierta probabilidad.
Hoy se agrupa sobre todo en espacios de embeddings: cada documento se convierte en un vector y se agrupan los vectores cercanos. Así pueden descubrirse los temas recurrentes de miles de tickets de soporte sin haberlos definido antes (Alammar y Grootendorst, 2024, p. 27).
k-means exige saber de antemano cuántos grupos hay, y Witten et al. (2017) señalan la ironía: a menudo no se sabe nada al respecto, y averiguarlo es justamente el propósito del agrupamiento; la existencia misma de los grupos es lo que se intenta descubrir (2017, p. 142). A diferencia de la clasificación, el resultado no puede calificarse contra una respuesta correcta; su éxito suele medirse por su utilidad para quien lo usa (Witten et al., 2017, p. 45).
La cuestión de fondo es filosófica. Un agrupamiento depende de qué atributos se miden y de qué distancia se usa: con otros atributos, los mismos datos se agrupan de otro modo. ¿Hay clases naturales esperando ser descubiertas, o la similitud la impone el observador? Como recuerda Buckner (2024) citando a Goodman, dos cosas cualesquiera se parecen entre sí de infinitas maneras (2024, p. 201); un algoritmo de agrupamiento es una manera de fijar cuáles cuentan.