Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Gebruik map_dbl() om kmeans() uit te voeren op de lineup-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 als tot_withinss.
  • Bouw een nieuw data frame elbow_df met 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 = ___
)
Code bewerken en uitvoeren