시작하기무료로 시작하기

축구 필드에서의 K-평균

이전 챕터에서는 lineup 데이터셋으로 계층적 클러스터링을 학습했고, 이번 챕터에서는 같은 데이터를 사용해 k-means 클러스터링을 배워 볼 거예요. 다시 말씀드리면, lineup 데이터 프레임에는 6대6 축구 경기 시작 시점의 12명 선수 위치가 들어 있어요.

앞서와 마찬가지로, 경기장에는 두 팀이 있다는 것을 알고 있으므로 k = 2 를 사용해 k-means 분석을 수행하면 각 선수가 어느 팀에 속하는지 파악할 수 있어요.

참고로, kmeans() 함수에서는 k 값을 centers 매개변수로 지정합니다.

이 연습은 강의의 일부입니다

R로 배우는 군집 분석

강의 보기

연습 안내

  • centers = 2kmeans() 함수를 사용해 lineup 데이터에 대한 k-means 모델 model_km2를 만드세요.
  • 모델에서 클러스터 할당 벡터 model_km2$cluster를 추출해 변수 clust_km2에 저장하세요.
  • 클러스터 할당 값을 열 clusterlineup 데이터 프레임에 추가하고, 결과를 새 데이터 프레임 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()
코드 편집 및 실행