시작하기무료로 시작하기

엘보(스크리) 플롯

이전 연습 문제에서 k 값을 1부터 10까지 바꾸어 가며 클러스터 내 제곱합의 합계(total within-cluster sum of squares)를 계산했어요. 이제 이 관계를 선 그래프로 시각화해 흔히 엘보 플롯(또는 스크리 플롯)이라고 하는 그래프를 만들어 봅시다.

엘보 플롯을 볼 때는 어떤 k에서 다음 k로 넘어갈 때 급격히 감소했다가, 이후 기울기의 감소가 완만해지는 지점을 찾으시면 됩니다. 그래프의 기울기가 평평해지기 시작하기 직전의 k 값이 "좋은" k의 후보를 시사합니다.

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

R로 배우는 군집 분석

강의 보기

연습 안내

  • 이전 연습 문제에 이어, elbow_df의 값을 사용해 k클러스터 내 제곱합의 합계(total within-cluster sum of squares) 간의 관계를 보여주는 선 그래프를 그리세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10,  function(k){
  model <- kmeans(x = lineup, centers = k)
  model$tot.withinss
})

# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
  k = 1:10,
  tot_withinss = tot_withinss
)

# Plot the elbow plot
ggplot(___, aes(x = ___, y = ___)) +
  geom_line() +
  scale_x_continuous(breaks = 1:10)
코드 편집 및 실행