É bastante difícil fornecer uma solução clara sobre como escolher o número "melhor" de clusters em seus dados, qualquer que seja o método de cluster usado, porque o Cluster Analysis procura isolar grupos de unidades estatísticas (sejam indivíduos ou variáveis ) para fins exploratórios ou descritivos, essencialmente. Portanto, você também deve interpretar a saída do seu esquema de cluster e várias soluções de cluster podem ser igualmente interessantes.
Agora, com relação aos critérios estatísticos usuais usados para decidir quando parar para agregar dados, como apontado por @ars, a maioria é um critério visual , incluindo a análise do dendograma ou a inspeção dos perfis dos clusters, também chamados de gráficos de silhueta (Rousseeuw, 1987). . Vários critérios numéricos , também conhecidos como índices de validade, também foram propostos, por exemplo, índice de validade de Dunn, índice de validade de Davies-Bouldin, índice C, gama de Hubert, entre outros. O armazenamento em cluster hierárquico geralmente é executado em conjunto com o k-means (de fato, várias instâncias do k-means, por ser um algoritmo estocástico), para que ele adicione suporte às soluções de cluster encontradas. Não sei se todas essas coisas estão prontamente disponíveis no Python, mas uma enorme quantidade de métodos está disponível no R (consulte oVisualização de tarefa de cluster , já citada pelo @mbq para uma pergunta relacionada: Quais ferramentas podem ser usadas para aplicar algoritmos de cluster no MovieLens? ) Outras abordagens incluem cluster nebuloso e cluster baseado em modelo (também chamado de análise de características latentes , na comunidade psicométrica) se você procurar uma maneira mais robusta de escolher o número de clusters em seus dados.
BTW, acabei de encontrar esta página da Web, scipy-cluster , que é uma extensão do Scipy para gerar, visualizar e analisar clusters hierárquicos . Talvez inclua outras funcionalidades? Também ouvi falar do PyChem, que oferece coisas muito boas para análises multivariadas.
A seguinte referência também pode ser útil:
Steinley, D. & Brusco, MJ (2008). Seleção de variáveis na análise de cluster: Uma comparação empírica de oito procedimentos. Psychometrika , 73 , 125-144.