K-means na boisku piłkarskim
W poprzednim rozdziale używałeś(-aś) zbioru danych lineup do nauki hierarchicznego grupowania – w tym rozdziale wykorzystasz te same dane, by poznać grupowanie metodą k-means.
Dla przypomnienia: ramka danych lineup zawiera pozycje 12 zawodników na początku meczu piłki nożnej w formacie 6 na 6.
Podobnie jak wcześniej, wiesz, że na boisku grają dwie drużyny. Możesz więc przeprowadzić analizę k-means z parametrem k = 2, aby określić, który zawodnik należy do której drużyny.
Zwróć uwagę, że w funkcji kmeans() wartość k podaje się za pomocą parametru centers.
To ćwiczenie jest częścią kursu
Analiza skupień w R
Instrukcje do ćwiczenia
- Zbuduj model k-means o nazwie
model_km2dla zbioru danychlineup, używając funkcjikmeans()z argumentemcenters = 2. - Wyodrębnij wektor przypisań do klastrów z modelu –
model_km2$cluster– i zapisz go w zmiennejclust_km2. - Dodaj przypisania do klastrów jako kolumnę
clusterdo ramki danychlineupi zapisz wynik do nowej ramki danych o nazwielineup_km2. - Użyj ggplot, aby wykreślić pozycje zawodników na boisku i pokolorować je według przynależności do klastra.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()