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
Oefeninstructies
- Bouw een k-meansmodel genaamd
model_km2voor delineup-data met de functiekmeans()encenters = 2. - Haal de vector met cluster-toewijzingen uit het model (
model_km2$cluster) en sla deze op in de variabeleclust_km2. - Voeg de cluster-toewijzingen toe als kolom
clusteraan delineup-dataframe en sla het resultaat op in een nieuwe dataframelineup_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()