K-평균: 평균 실루엣 너비
계층적 클러스터링 결과는 클러스터가 3개였고, 엘보 방법은 2개를 제안했어요. 이번 연습에서는 평균 실루엣 너비를 사용해 k의 "최적" 값을 탐색해 보세요.
이 연습은 강의의 일부입니다
R로 배우는 군집 분석
연습 안내
map_dbl()을 사용해k값을 2부터 10까지 바꿔 가며oes데이터에 대해pam()을 실행하고, 각 모델에서 평균 실루엣 너비 값인model$silinfo$avg.width를 추출하세요. 결과 벡터는sil_width로 저장하세요.k값과 평균 실루엣 너비 벡터를 포함하는 새 데이터 프레임sil_df를 만드세요.sil_df의 값을 사용해 k와 평균 실루엣 너비의 관계를 보여주는 선 그래프를 그리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Use map_dbl to run many models with varying value of k
sil_width <- map_dbl(2:10, function(k){
model <- pam(___, k = ___)
model$silinfo$avg.width
})
# Generate a data frame containing both k and sil_width
sil_df <- data.frame(
k = ___,
sil_width = ___
)
# Plot the relationship between k and sil_width
ggplot(___, aes(x = ___, y = ___)) +
geom_line() +
scale_x_continuous(breaks = 2:10)