K-means på en fotbollsplan
I det föregående kapitlet använde du datamängden lineup för att lära dig om hierarkisk klustring. I det här kapitlet använder du samma data för att utforska k-means-klustring.
Som en påminnelse: dataramen lineup innehåller positionerna för 12 spelare vid starten av en 6v6-fotbollsmatch.
Precis som tidigare vet du att matchen spelas med två lag, vilket innebär att du kan utföra en k-means-analys med k = 2 för att avgöra vilket lag varje spelare tillhör.
Observera att k anges med parametern centers i funktionen kmeans().
Den här övningen är en del av kursen
Klusteranalys i R
Övningsinstruktioner
- Bygg en k-means-modell kallad
model_km2för datamängdenlineupmed funktionenkmeans()och angecenters = 2. - Extrahera vektorn med klusterindelningar från modellen via
model_km2$clusteroch spara den i variabelnclust_km2. - Lägg till klusterindelningarna som en kolumn
clusteri dataramenlineupoch spara resultatet i en ny dataram kalladlineup_km2. - Använd ggplot för att visualisera varje spelares position på planen och färgkoda dem efter kluster.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Build a kmeans model
model_km2 <- kmeans(___, centers = ___)
# Extract the cluster assignment vector from the kmeans model
clust_km2 <- ___
# Create a new data frame appending the cluster assignment
lineup_km2 <- mutate(___, cluster = ___)
# Plot the positions of the players and color them using their cluster
ggplot(___, aes(x = ___, y = ___, color = factor(___))) +
geom_point()