> Statistiques > Analyse de données > Clustering hiérarchique
Clustering hiérarchique
Clustering hiérarchique nécessite :
- une distance (distance euclidienne, similarité de corrélation, distance de Manhattan).
- une approche de fusion des données.
Principe du clustering hiérarchique :
- on cherche les 2 points les plus proches selon la distance et on les regroupe dans un cluster. Les points sont remplacés par leur centre.
- puis on cherche à nouveau les points (ou clusters) les plus proches pour les regrouper en un cluster, et ceci de manière itérative.
- à chaque fois qu'on doit calculer la distance entre 2 clusters, on utilise une méthode d'agrégation ci-dessous.
- on itère jusqu'à n'avoir plus qu'un seul cluster.
Méthodes d'agrégation possibles :
- simple lien : on prend le minimum entre 2 points de chaque cluster (simple, mais a tendance à tout agglomérer de proche en proche).
- lien complet : on prend le maximum entre 2 points de chaque cluster.
- moyenne : on prend la moyenne de la distance entre toutes les paires.
- ward : permet de trouver à chaque étape l'agrégation qui minimise la perte d'information (produit des clusters plus compacts).
Propriétés du clustering hiérarchique :
- peut être assez instable.
- peut dépendre beaucoup de la distance et de la méthode d'aggrégation.
- sensible aux changements d'échelle d'une des variables.
- difficile de savoir à quelle hauteur couper pour déterminer les clusters.
- mais par contre est déterministe.
Méthode hclust : prend le résultat d'une distance :
d <- dist(mat)
h <- hclust(d)
Méthodes d'agrégation :
- hclust(d, method = "single") : simple lien
- hclust(d, method = "complete") : lien complet
- hclust(d, method = "average") : moyenne
- hclust(d, method = "ward") : ward
as.dendrogram(clust) : pour un objet de la classe hclust, permet de le récupérer sous forme de dendrogram (objet de la classe dendrogram).
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R