Zacznij terazZacznij za darmo

K-means: analiza wykresu łokcia

W poprzednich ćwiczeniach korzystałeś z dendrogramu, aby zaproponować podział na 3 skupienia. W tym ćwiczeniu wykorzystasz wykres łokcia k-means, aby wskazać „optymalną" liczbę skupień.

To ćwiczenie jest częścią kursu

Analiza skupień w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji map_dbl(), aby uruchomić kmeans() na danych oes dla wartości k od 1 do 10 i wyodrębnić z każdego modelu wartość całkowitej sumy kwadratów wewnątrz skupień: model$tot.withinss. Zapisz wynikowy wektor jako tot_withinss.
  • Utwórz nową ramkę danych elbow_df zawierającą wartości k oraz wektor całkowitej sumy kwadratów wewnątrz skupień.
  • Korzystając z wartości w elbow_df, narysuj wykres liniowy przedstawiający zależność między k a całkowitą sumą kwadratów wewnątrz skupień.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 = ___
)

# Plot the elbow plot
ggplot(elbow_df, aes(x = ___, y = ___)) +
  geom_line() +
  scale_x_continuous(breaks = 1:10)
Edytuj i uruchom kod