Elbow-(Scree-)Plot
In den vorherigen Übungen hast du die total within-cluster sum of squares für k-Werte von 1 bis 10 berechnet. Du kannst diese Beziehung mit einem Liniendiagramm visualisieren und so einen sogenannten Elbow-Plot (oder Scree-Plot) erstellen.
Beim Betrachten eines Elbow-Plots suchst du nach einem starken Abfall von einem k zum nächsten, gefolgt von einer allmählicheren Abnahme der Steigung. Der letzte k-Wert, bevor sich die Steigung des Plots abflacht, deutet auf einen „guten" k-Wert hin.
Diese Übung ist Teil des Kurses
<Kurs>Clusteranalyse in R</Kurs>Übungsanweisungen
- Setze deine Arbeit aus der vorherigen Übung fort und verwende die Werte in
elbow_df, um ein Liniendiagramm zu zeichnen, das die Beziehung zwischen k und total within-cluster sum of squares zeigt.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10, function(k){
model <- kmeans(x = lineup, centers = k)
model$tot.withinss
})
# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
k = 1:10,
tot_withinss = tot_withinss
)
# Plot the elbow plot
ggplot(___, aes(x = ___, y = ___)) +
geom_line() +
scale_x_continuous(breaks = 1:10)