Agrupamiento jerárquico en Python
linkage arma el árbol; fcluster lo corta en grupos.
import numpy as np
from scipy.cluster import hierarchy
puntos = np.array([[1.0, 1.0], [1.2, 0.9], [5.0, 5.1],
[5.3, 4.8], [9.0, 9.2]])
arbol = hierarchy.linkage(puntos, method="ward")
print(arbol.shape, arbol[:, 2].round(2))
grupos = hierarchy.fcluster(arbol, t=3, criterion="maxclust")
print(grupos)
print(hierarchy.fcluster(arbol, t=2.0, criterion="distance"))
print(round(hierarchy.cophenet(arbol)[0], 3))
Cómo funciona
linkagetoma observaciones y un método.fclustercorta a una distancia o a un número de clústeres.- Los datos del
dendrogramsalen de la misma matriz de linkage.
Palabras clave y builtins usados aquí
asprintround
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 411
- Tokens
- 138
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 75 segundos.
Paso 4 de 4 en Dispersas y espaciales; paso 22 de 23 en Computación científica con SciPy.