Mai multe valori K, mai multe modele
Deși setul de date lineup are o valoare k cunoscută, de multe ori numărul optim de clustere nu este cunoscut dinainte și trebuie estimat.
În acest exercițiu vei folosi map_dbl() din biblioteca purrr pentru a rula k-means cu valori ale lui k de la 1 la 10 și pentru a extrage metrica suma totală a pătratelor din interiorul clusterelor din fiecare model. Acesta va fi primul pas spre vizualizarea graficului cotului.
Acest exercițiu face parte din cursul
Analiza clusterelor în R
Instrucțiuni pentru exercițiu
- Folosește
map_dbl()pentru a rulakmeans()pe datelelineup, cu valori ale lui k de la 1 la 10, și extrage valoarea sumei totale a pătratelor din interiorul clusterelor din fiecare model:model$tot.withinss. Salvează vectorul rezultat catot_withinss. - Construiește un nou cadru de date,
elbow_df, care să conțină valorile lui k și vectorul sumei totale a pătratelor din interiorul clusterelor.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 = ___
)