더북(TheBook)

코드 3-33 적당한 K 값 추출

Sum_of_squared_distances = [] ------ ①
K = range(1, 15) ------ K에 1부터 14까지 적용해 봅니다.
for k in K:
    km = KMeans(n_clusters=k) ------ 1~14의 K 값 적용
    km = km.fit(data_transformed) ------ KMeans 모델 훈련
    Sum_of_squared_distances.append(km.inertia_)

plt.plot(K, Sum_of_squared_distances, 'bx-')
plt.xlabel('k')
plt.ylabel('Sum_of_squared_distances')
plt.title('Optimal k')
plt.show()

코드를 실행하면 다음 그림과 같이 적당한 K 값이 출력됩니다.

▲ 그림 3-34 K-평균 군집화 예제 실행 결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.