Viele k, viele Modelle
Während der Datensatz lineup eindeutig einen bekannten Wert für k hat, ist die optimale Anzahl an Clustern oft nicht bekannt und muss geschätzt werden.
In dieser Übung nutzt du map_dbl() aus der Bibliothek purrr, um k-means mit k-Werten von 1 bis 10 auszuführen und aus jedem Modell die Kennzahl totale innerhalb-Cluster-Quadratsumme zu extrahieren. Das ist der erste Schritt, um das Elbow-Diagramm zu visualisieren.
Diese Übung ist Teil des Kurses
<Kurs>Clusteranalyse in R</Kurs>Übungsanweisungen
- Verwende
map_dbl(), umkmeans()auf denlineup-Daten für k-Werte von 1 bis 10 auszuführen und aus jedem Modell den Wert der totalen innerhalb-Cluster-Quadratsumme zu extrahieren:model$tot.withinss. Speichere den resultierenden Vektor alstot_withinss. - Erstelle einen neuen Data Frame
elbow_df, der die k-Werte und den Vektor der totalen innerhalb-Cluster-Quadratsumme enthält.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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 = ___
)