Aan de slagBegin gratis

K-means op een voetbalveld

In het vorige hoofdstuk gebruikte je de lineup-gegevensset om te leren over hiërarchische clustering; in dit hoofdstuk gebruik je dezelfde data om te leren over k-means clustering. Ter herinnering: de lineup-dataframe bevat de posities van 12 spelers aan het begin van een 6-tegen-6-voetbalwedstrijd.

Net als eerder weet je dat er twee teams op het veld staan, dus je kunt een k-means-analyse uitvoeren met k = 2 om te bepalen welke speler bij welk team hoort.

Let op: in de functie kmeans() geef je k op via de parameter centers.

Deze oefening maakt deel uit van de cursus

Clusteranalyse in R

Bekijk cursus

Oefeninstructies

  • Bouw een k-meansmodel genaamd model_km2 voor de lineup-data met de functie kmeans() en centers = 2.
  • Haal de vector met cluster-toewijzingen uit het model (model_km2$cluster) en sla deze op in de variabele clust_km2.
  • Voeg de cluster-toewijzingen toe als kolom cluster aan de lineup-dataframe en sla het resultaat op in een nieuwe dataframe lineup_km2.
  • Gebruik ggplot om de posities van elke speler op het veld te plotten en kleur ze op basis van hun cluster.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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()
Code bewerken en uitvoeren