제곱 오차 합 계산 및 시각화
이제 군집 수를 1부터 10까지 바꿔 가며 제곱 오차 합을 계산해 보세요.
이전 연습에서 만든 정규화된 RFMT 데이터는 datamart_rfmt_normalized로 저장되어 있어요. scikit-learn의 KMeans 모듈도 이미 가져왔습니다. 또한 제곱 오차 합을 저장할 빈 사전 sse = {}를 초기화해 두었습니다.
콘솔에서 데이터를 자유롭게 탐색해 보셔도 좋아요.
이 연습은 강의의 일부입니다
Python을 활용한 고객 세분화
연습 안내
k개의 군집과 random_state를 1로 하여 KMeans를 초기화하고, 정규화된 데이터셋에 적합(fit)하세요.- 제곱거리 합을
sse사전의k요소에 할당하세요. - 그래프 제목을 "The Elbow Method", X축 레이블을 "k", Y축 레이블을 "SSE"로 추가하세요.
- 사전에 키로 저장된 각
k에 대한 SSE 값을 시각화하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Fit KMeans and calculate SSE for each k between 1 and 10
for k in range(1, 11):
# Initialize KMeans with k clusters and fit it
kmeans = ____(____=____, ____=1 ).____(datamart_rfmt_normalized)
# Assign sum of squared distances to k element of the sse dictionary
____[____] = kmeans.____
# Add the plot title, x and y axis labels
plt.____('The Elbow Method')
plt.____('____')
plt.____('____')
# Plot SSE values for each k stored as keys in the dictionary
sns.____(x=list(sse.____()), y=list(sse.____()))
plt.show()