축구 필드에서의 K-평균
이전 챕터에서는 lineup 데이터셋으로 계층적 클러스터링을 학습했고, 이번 챕터에서는 같은 데이터를 사용해 k-means 클러스터링을 배워 볼 거예요.
다시 말씀드리면, lineup 데이터 프레임에는 6대6 축구 경기 시작 시점의 12명 선수 위치가 들어 있어요.
앞서와 마찬가지로, 경기장에는 두 팀이 있다는 것을 알고 있으므로 k = 2 를 사용해 k-means 분석을 수행하면 각 선수가 어느 팀에 속하는지 파악할 수 있어요.
참고로, kmeans() 함수에서는 k 값을 centers 매개변수로 지정합니다.
이 연습은 강의의 일부입니다
R로 배우는 군집 분석
연습 안내
centers = 2로kmeans()함수를 사용해lineup데이터에 대한 k-means 모델model_km2를 만드세요.- 모델에서 클러스터 할당 벡터
model_km2$cluster를 추출해 변수clust_km2에 저장하세요. - 클러스터 할당 값을 열
cluster로lineup데이터 프레임에 추가하고, 결과를 새 데이터 프레임lineup_km2에 저장하세요. - ggplot을 사용해 각 선수의 필드 위치를 플로팅하고, 클러스터별로 색을 지정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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()