Como calcular atribuições de cluster de matrizes de linkage / distance no scipy em Python?

se você tiver essa chamada hierárquica de clustering no scipy em Python:

from scipy.cluster.hierarchy import linkage
# dist_matrix is long form distance matrix
linkage_matrix = linkage(squareform(dist_matrix), linkage_method)

então, qual é uma maneira eficiente de ir a partir de atribuições de cluster para pontos individuais? ou seja, um vetor de comprimentoN OndeN é o número de pontos, onde cada entradai é o número do cluster de pontoi, dado o número de clusters gerados por um determinado limiarthresh no clustering resultante?

Para esclarecer: O número do cluster seria o cluster em que ele está após aplicar um limite à árvore. Nesse caso, você obteria um cluster exclusivo para cada nó folha do cluster em que se encontra. Único no sentido de que cada ponto pertence a um "cluster mais específico", definido pelo limite em que você corta o dendrograma.

Eu sei dissoscipy.cluster.hierarchy.fclusterdata dá a você essa atribuição de cluster como seu valor de retorno, mas eu estou começando a partir de uma matriz de distância personalizada e métrica de distância, então não posso usarfclusterdata. A questão se resume a: como posso calcular o quefclusterdata está computando - as atribuições de cluster?

questionAnswers(2)

yourAnswerToTheQuestion