K-means : largeurs de silhouette moyennes
Le clustering hiérarchique aboutit à 3 groupes, tandis que la méthode du coude suggère 2. Dans cet exercice, utilisez les largeurs de silhouette moyennes pour déterminer quelle pourrait être la « meilleure » valeur de k.
Cet exercice fait partie du cours
Analyse de clusters avec R
Instructions
- Utilisez
map_dbl()pour exécuterpam()sur les donnéesoespour des valeurs de k allant de 2 à 10 et extraire, pour chaque modèle, la valeur de largeur de silhouette moyenne :model$silinfo$avg.width. Enregistrez le vecteur obtenu sous le nomsil_width. - Créez un nouveau data frame
sil_dfcontenant les valeurs de k et le vecteur des largeurs de silhouette moyennes. - Utilisez les valeurs de
sil_dfpour tracer un graphique en lignes montrant la relation entre k et la largeur de silhouette moyenne.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Use map_dbl to run many models with varying value of k
sil_width <- map_dbl(2:10, function(k){
model <- pam(___, k = ___)
model$silinfo$avg.width
})
# Generate a data frame containing both k and sil_width
sil_df <- data.frame(
k = ___,
sil_width = ___
)
# Plot the relationship between k and sil_width
ggplot(___, aes(x = ___, y = ___)) +
geom_line() +
scale_x_continuous(breaks = 2:10)