여러 K, 여러 모델
lineup 데이터셋은 k의 값이 명확하지만, 실제로는 최적 클러스터 개수를 모르는 경우가 많아 추정이 필요해요.
이번 연습에서는 purrr 라이브러리의 map_dbl()을 사용해 k 값을 1부터 10까지 바꾸어 가며 k-means를 실행하고, 각 모델에서 클러스터 내 제곱합 합계 지표를 추출해 볼 거예요. 이는 엘보 플롯을 시각화하기 위한 첫 단계입니다.
이 연습은 강의의 일부입니다
R로 배우는 군집 분석
연습 안내
map_dbl()을 사용해lineup데이터로 k 값을 1부터 10까지 바꾸어kmeans()를 실행하고, 각 모델에서 클러스터 내 제곱합 합계 값(model$tot.withinss)을 추출하세요. 결과 벡터를tot_withinss로 저장하세요.- k 값과 클러스터 내 제곱합 합계 벡터를 포함하는 새로운 데이터 프레임
elbow_df를 만드세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
library(purrr)
# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10, function(k){
model <- kmeans(x = ___, centers = ___)
model$tot.withinss
})
# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
k = ___ ,
tot_withinss = ___
)