Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj map_dbl(), aby uruchomić kmeans() na danych lineup dla 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 jako tot_withinss.
  • Zbuduj nową ramkę danych elbow_df zawierają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 = ___
)
Edytuj i uruchom kod