typestar

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

  1. linkage toma observaciones y un método.
  2. fcluster corta a una distancia o a un número de clústeres.
  3. Los datos del dendrogram salen de la misma matriz de linkage.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 4 de 4 en Dispersas y espaciales; paso 22 de 23 en Computación científica con SciPy.

← Anterior Siguiente →