Analyse de silhouette
L’analyse de silhouette permet de mesurer à quel point chaque observation est similaire au cluster auquel elle est affectée par rapport aux autres clusters. Cette métrique (largeur de silhouette) varie de -1 à 1 pour chaque observation de vos données et s’interprète ainsi :
- Des valeurs proches de 1 indiquent que l’observation correspond bien au cluster assigné
- Des valeurs proches de 0 indiquent que l’observation est à la frontière entre deux clusters
- Des valeurs proches de -1 indiquent que l’observation pourrait être affectée au mauvais cluster
Dans cet exercice, vous allez utiliser les fonctions pam() et silhouette() de la bibliothèque cluster pour réaliser une analyse de silhouette et comparer les résultats de modèles avec k = 2 et k = 3. Vous continuerez à travailler avec le jeu de données lineup.
Portez une attention particulière au graphique de silhouette : pour k = 3, chaque observation appartient-elle clairement à son cluster assigné ?
Cet exercice fait partie du cours
Analyse de clusters avec R
Instructions
- Générez un modèle k-means
pam_k2avecpam()etk = 2sur les donnéeslineup. - Tracez l’analyse de silhouette avec
plot(silhouette(model)). - Répétez les deux premières étapes pour
k = 3, en enregistrant le modèle souspam_k3. - Avant de continuer, comparez bien les différences entre les graphiques (en particulier l’observation 3) pour
pam_k3.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
library(cluster)
# Generate a k-means model using the pam() function with a k = 2
pam_k2 <- pam(___, k = ___)
# Plot the silhouette visual for the pam_k2 model
plot(silhouette(___))
# Generate a k-means model using the pam() function with a k = 3
pam_k3 <- ___
# Plot the silhouette visual for the pam_k3 model