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
Instrukcje do ćwiczenia
- Użyj funkcji
map_dbl(), aby uruchomićkmeans()na danychoesdla 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 jakotot_withinss. - Utwórz nową ramkę danych
elbow_dfzawierają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)