Noções básicas de clusterização hierárquica

Análise de cluster em Python

Shaumik Daityari

Business Analyst

Criando a matriz de distância com linkage

scipy.cluster.hierarchy.linkage(observations, 
                                method='single', 
                                metric='euclidean', 
                                optimal_ordering=False
)
  • method: como calcular a proximidade entre clusters
  • metric: métrica de distância
  • optimal_ordering: ordena os pontos
Análise de cluster em Python

Qual método usar?

  • 'single': baseado nos dois objetos mais próximos
  • 'complete': baseado nos dois objetos mais distantes
  • 'average': baseado na média aritmética de todos os objetos
  • 'centroid': baseado na média geométrica de todos os objetos
  • 'median': baseado na mediana de todos os objetos
  • 'ward': baseado na soma dos quadrados
Análise de cluster em Python

Criando rótulos de cluster com fcluster

scipy.cluster.hierarchy.fcluster(distance_matrix, 
                                 num_clusters,
                                 criterion
)
  • distance_matrix: saída de linkage()
  • num_clusters: número de clusters
  • criterion: como definir limiares para formar clusters
Análise de cluster em Python

Clusterização hierárquica com método ward

Análise de cluster em Python

Clusterização hierárquica com método single

Análise de cluster em Python

Clusterização hierárquica com método complete

Análise de cluster em Python

Dicas finais para escolher o método

  • Não existe um método único que sirva para tudo
  • Entenda bem a distribuição dos dados
Análise de cluster em Python

Vamos praticar!

Análise de cluster em Python

Preparing Video For Download...