Pergunta

Suponha que nós temos quatro observações e o valor de retorno de scipy.cluster.hierarquia.a ligação é:

[[ 1.          3.          0.08        2.        ]
 [ 2.          4.          0.28813559  3.        ]
 [ 0.          5.          1.          4.        ]]

Este valor de retorno significa:as primeiras observações 1 e 3 são mesclados para novo cluster 4 e, em seguida, a observação 2 é adicionado para este novo cluster para formar um novo cluster 5.Finalmente, a observação de 0 é agrupado.Desde que eu quiser obter dois conjuntos {1,3,2} e {0}, espero que um valor de retorno de [2,1,1,1] o que significa que o elemento 0 pertence ao cluster 2 e o resto são agrupadas em outro cluster 1, usando o limite de 0,4.Mas, na verdade, scipy.cluster.hierarquia.fcluster retorna [ 3 1, 2 ,1 ].Claro, eu posso escrever código python para analisar a ligação de retornar matriz 2-D por mim, mas eu acho que o fcluster função pode retornar o que eu quero, se eu definir o limite de 0,4.No entanto, eu não sei como fornecer parâmetros para ele, então eu me pergunto se você poderia fornecer com alguns exemplos de códigos de conduta hierárquica de cluster usando linkage e dar o resultado final usando fcluster com as observações agrupadas em um cluster representado por um conjunto.Obrigado.

Foi útil?

Solução

fcluster tem inconsistent como padrão argumento de que o critério para escolher.Utilização distance como argumento, para tirar o cophenetic distância da ligação matriz Z[:,2].Você pode apenas usar maxclust como critério, se você deseja especificar o número de clusters.Se você está de clustering com ligação simples, a probabilidade de alguns clusters são singletons (outliers).Ajuda(fcluster) dá as informações necessárias sobre como utilizar a função, então, fazer a docs

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top