Veel k's, veel modellen
Hoewel de lineup-gegevensset duidelijk een bekende waarde van k heeft, is het optimale aantal clusters vaak niet bekend en moet het worden geschat.
In deze oefening maak je gebruik van map_dbl() uit de purrr-bibliotheek om k-means uit te voeren voor k-waarden van 1 tot en met 10 en haal je uit elk model de metriek total within-cluster sum of squares op. Dit is de eerste stap richting het visualiseren van de elbow-plot.
Deze oefening maakt deel uit van de cursus
Clusteranalyse in R
Oefeninstructies
- Gebruik
map_dbl()omkmeans()uit te voeren op delineup-data voor k-waarden van 1 tot en met 10 en haal uit elk model de waarde total within-cluster sum of squares op:model$tot.withinss. Sla de resulterende vector op alstot_withinss. - Bouw een nieuw data frame
elbow_dfmet de k-waarden en de vector total within-cluster sum of squares.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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 = ___
)