실루엣 분석
실루엣 분석은 각 관측값이 다른 군집과 비교했을 때, 자신이 속한 군집과 얼마나 유사한지를 계산해 줍니다. 이 척도(실루엣 너비)는 데이터의 각 관측값에 대해 -1에서 1 사이의 값을 가지며 다음과 같이 해석할 수 있어요:
- 1에 가까울수록 해당 관측값이 배정된 군집과 잘 맞는다는 뜻입니다.
- 0에 가까울수록 두 군집의 경계에 있는 값일 가능성이 큽니다.
- -1에 가까울수록 잘못된 군집에 배정되었을 수 있음을 시사합니다.
이 연습 문제에서는 cluster 라이브러리의 pam()과 silhouette() 함수를 활용해, k가 2일 때와 3일 때의 모델 결과를 실루엣 분석으로 비교해 볼 거예요. 계속해서 lineup 데이터셋을 사용합니다.
실루엣 플롯을 주의 깊게 보세요. k = 3일 때 각 관찰값이 자신에게 배정된 군집에 명확히 속하나요?
이 연습은 강의의 일부입니다
R로 배우는 군집 분석
연습 안내
lineup데이터에k = 2로pam()을 사용해 k-평균 모델pam_k2를 생성하세요.plot(silhouette(model))로 실루엣 분석 결과를 그리세요.k = 3에 대해서도 위 두 단계를 반복하고, 모델은pam_k3로 저장하세요.- 진행하기 전에 두 플롯의 차이(특히
pam_k3에서 관측치 3)를 꼭 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
library(cluster)
# Generate a k-means model using the pam() function with a k = 2
pam_k2 <- pam(___, k = ___)
# Plot the silhouette visual for the pam_k2 model
plot(silhouette(___))
# Generate a k-means model using the pam() function with a k = 3
pam_k3 <- ___
# Plot the silhouette visual for the pam_k3 model