Beaucoup de k, beaucoup de modèles
Même si l'ensemble de données lineup a clairement une valeur connue de k, bien souvent le nombre optimal de grappes n'est pas connu et doit ê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 chacun, la somme totale des carrés intra-grappe. Ce sera la première étape pour visualiser le graphique du coude (elbow plot).
Cette activité fait partie du cours
Analyse de regroupements dans R
Instructions de l’exercice
- Utilisez
map_dbl()pour exécuterkmeans()sur les donnéeslineupavec des valeurs de k allant de 1 à 10 et extraire la valeur de somme totale des carrés intra-grappe de chaque modèle :model$tot.withinss. Stockez le vecteur résultant danstot_withinss. - Créez un nouveau tableau de données
elbow_dfcontenant les valeurs de k et le vecteur de somme totale des carrés intra-grappe.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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 = ___
)