Beaucoup de k, beaucoup de modèles
Même si l’ensemble de données lineup possède clairement une valeur connue de k, il arrive souvent que le nombre optimal de clusters ne soit pas connu et doive être estimé.
Dans cet exercice, vous utiliserez map_dbl() de la bibliothèque purrr pour exécuter k-means avec des valeurs de k allant de 1 à 10 et extraire, pour chacune, la métrique de somme des carrés intra-cluster totale. Ce sera la première étape vers la visualisation du graphique du coude (elbow plot).
Cet exercice fait partie du cours
Analyse de clusters avec R
Instructions
- Utilisez
map_dbl()pour exécuterkmeans()sur les donnéeslineupavec des valeurs de k allant de 1 à 10 et extraire, pour chaque modèle, la valeur de somme des carrés intra-cluster totale :model$tot.withinss. Stockez le vecteur obtenu danstot_withinss. - Construisez un nouveau data frame
elbow_dfcontenant les valeurs de k et le vecteur de somme des carrés intra-cluster totale.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
library(purrr)
# 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 = ___
)