K-means : analyse du coude
Dans les exercices précédents, vous avez utilisé le dendrogramme pour proposer un regroupement qui générait 3 groupes. Dans cet exercice, vous allez exploiter le graphique du coude pour k-means afin de proposer le « meilleur » nombre de groupes.
Cette activité fait partie du cours
Analyse de regroupements dans R
Instructions de l’exercice
- Utilisez
map_dbl()pour exécuterkmeans()sur les donnéesoesavec des valeurs de k allant de 1 à 10 et extraire, pour chaque modèle, la valeur du total des carrés des distances intra‑groupes :model$tot.withinss. Stockez le vecteur obtenu danstot_withinss. - Créez un nouveau tableau de données
elbow_dfcontenant les valeurs de k et le vecteur du total des carrés des distances intra‑groupes. - Utilisez les valeurs de
elbow_dfpour tracer un graphique linéaire montrant la relation entre k et le total des carrés des distances intra‑groupes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10, function(k){
model <- kmeans(x = ___, centers = ___)
model$tot.withinss
})
# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
k = ___,
tot_withinss = ___
)
# Plot the elbow plot
ggplot(elbow_df, aes(x = ___, y = ___)) +
geom_line() +
scale_x_continuous(breaks = 1:10)