Notions de base du regroupement hiérarchique

Analyse de grappes en Python

Shaumik Daityari

Business Analyst

Créer une matrice de distances avec linkage

scipy.cluster.hierarchy.linkage(observations, 
                                method='single', 
                                metric='euclidean', 
                                optimal_ordering=False
)
  • method : façon de calculer la proximité des groupes
  • metric : mesure de distance
  • optimal_ordering : ordonner les points de données
Analyse de grappes en Python

Quelle méthode utiliser ?

  • 'single' : basé sur les deux objets les plus proches
  • 'complete' : basé sur les deux objets les plus éloignés
  • 'average' : basé sur la moyenne arithmétique de tous les objets
  • 'centroid' : basé sur la moyenne géométrique de tous les objets
  • 'median' : basé sur la médiane de tous les objets
  • 'ward' : basé sur la somme des carrés
Analyse de grappes en Python

Créer des étiquettes de groupes avec fcluster

scipy.cluster.hierarchy.fcluster(distance_matrix, 
                                 num_clusters,
                                 criterion
)
  • distance_matrix : résultat de la méthode linkage()
  • num_clusters : nombre de groupes
  • criterion : comment fixer les seuils pour former les groupes
Analyse de grappes en Python

Regroupement hiérarchique avec la méthode ward

Analyse de grappes en Python

Regroupement hiérarchique avec la méthode single

Analyse de grappes en Python

Regroupement hiérarchique avec la méthode complete

Analyse de grappes en Python

Dernières réflexions sur le choix d'une méthode

  • Aucune méthode unique ne convient à tout
  • Il faut bien comprendre la distribution des données
Analyse de grappes en Python

Passons à la pratique !

Analyse de grappes en Python

Preparing Video For Download...