최적의 클러스터 개수 결정하기
여기서는 엘보 기준(elbow criterion) 방법을 사용해, 제곱 오차 합(SSE)의 감소 폭이 미미해지는 지점에서 최적의 클러스터 개수를 찾아보겠습니다. 이는 테스트를 시작하기 위한 합리적인 클러스터 수를 수학적으로 가늠하는 중요한 단계입니다. 여러 k 값에 대해 각각 KMeans 알고리즘을 실행하고, 각 k에 대한 오류를 그래프로 그려 오류 감소 속도가 둔화되는 "엘보" 지점을 확인하세요.
KMeans 모듈은 sklearn.cluster에서 불러왔고, seaborn 라이브러리는 sns로, matplotlib.pyplot 모듈은 plt로 로드되어 있습니다. 또한, 스케일링된 데이터셋은 pandas DataFrame인 wholesale_scaled_df로 제공됩니다.
이 연습은 강의의 일부입니다
Python으로 배우는 마케팅용 Machine Learning
연습 안내
- 빈
sse딕셔너리를 만드세요. - k 값을 1부터 11까지 바꿔가며
KMeans를 학습시키고, 오류 값을sse딕셔너리에 저장하세요. - 그래프에 제목을 추가하세요.
- X축에는 키, Y축에는 값을 사용해 산점도를 만들고 차트를 표시하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create empty sse dictionary
sse = {}
# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
kmeans = ___(n_clusters=___, random_state=333)
kmeans.___(wholesale_scaled_df)
sse[k] = kmeans.inertia_
# Add the title to the plot
plt.___('Elbow criterion method chart')
# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()