제곱오차합 계산하기
이 연습 문제에서는 군집 수를 1부터 15까지 바꿔 가며 제곱오차합(SSE)을 계산해 보겠습니다. 여기서는 엘보우 지점을 더 명확히 보기 위해 사용자 정의 데이터셋을 사용합니다.
정규화된 데이터는 data_normalized로 불러와 두었습니다. scikit-learn의 KMeans 모듈은 이미 임포트되어 있습니다. 또한 제곱오차합을 저장할 비어 있는 딕셔너리 sse = {}도 초기화해 두었습니다.
콘솔에서 데이터를 자유롭게 탐색해 보셔도 됩니다.
이 연습은 강의의 일부입니다
Python을 활용한 고객 세분화
연습 안내
- KMeans를 학습하고, 1부터 15까지의 각
k에 대해 SSE를 계산하세요. k개의 군집과 random_state를 1로 설정해 KMeans를 초기화하세요.- 정규화된 데이터셋에 KMeans를 학습(fit)하세요.
- 제곱거리 합을
sse딕셔너리의 해당k요소에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Fit KMeans and calculate SSE for each k
for k in range(____, ____):
# Initialize KMeans with k clusters
kmeans = ____(n_clusters=____, random_state=1)
# Fit KMeans on the normalized dataset
kmeans.____(data_normalized)
# Assign sum of squared distances to k element of dictionary
sse[____] = kmeans.____