Wiele wartości k, wiele modeli
W zbiorze danych lineup optymalna wartość k jest znana z góry, jednak w praktyce często tak nie jest – trzeba ją dopiero oszacować.
W tym ćwiczeniu skorzystasz z funkcji map_dbl() z biblioteki purrr, aby uruchomić algorytm k-means dla wartości k od 1 do 10 i wyodrębnić z każdego modelu metrykę całkowitej sumy kwadratów wewnątrz klastrów. To pierwszy krok do wizualizacji wykresu łokcia.
To ćwiczenie jest częścią kursu
Analiza skupień w R
Instrukcje do ćwiczenia
- Użyj
map_dbl(), aby uruchomićkmeans()na danychlineupdla wartości k od 1 do 10 i wyodrębnić z każdego modelu wartość całkowitej sumy kwadratów wewnątrz klastrów:model$tot.withinss. Zapisz wynikowy wektor jakotot_withinss. - Zbuduj nową ramkę danych
elbow_dfzawierającą wartości k oraz wektor całkowitych sum kwadratów wewnątrz klastrów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 = ___
)