Många k-värden, många modeller
I lineup-datamängden är värdet på k känt, men ofta är det optimala antalet kluster okänt och måste uppskattas.
I den här övningen använder du map_dbl() från biblioteket purrr för att köra k-means med k-värden från 1 till 10 och extrahera måttet total inom-kluster kvadratsumma från varje modell. Det här är första steget mot att visualisera ett armbågssdiagram.
Den här övningen är en del av kursen
Klusteranalys i R
Övningsinstruktioner
- Använd
map_dbl()för att körakmeans()pålineup-data med k-värden från 1 till 10 och extrahera värdet för total inom-kluster kvadratsumma från varje modell:model$tot.withinss. Spara den resulterande vektorn somtot_withinss. - Bygg en ny dataram
elbow_dfsom innehåller k-värdena och vektorn med total inom-kluster kvadratsumma.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 = ___
)