
264
파이썬 라이브러리를 활용한 머신러닝(번역개정판)
다음엔 덴드로그램을 그려보겠습니다(그림
3
-
45
).
2
,
063
개 데이터 포인트를 모두 트리로 나
타내면 너무 복잡해지므로 이 예제에서는 트리 깊이를 제한했습니다.
51
In [86]:
linkage_array = ward(X_pca)
# 클러스터 사이의 거리가 담겨 있는 linkage_array로 덴드로그램을 그립니다.
plt.gure(gsize=(20, 5))
dendrogram(linkage_array, p=7, truncate_mode='level', no_labels=True)
plt.xlabel("샘플 번호")
plt.ylabel("클러스터 거리")
ax = plt.gca()
bounds = ax.get_xbound()
ax.plot(bounds, [36, 36], '--', c='k')
그림
3-45
얼굴 데이터셋에 적용한 병합 군집의 덴드로그램
수직선이
10
개가 되는 비교적 높은 위치에서 잘라내어,
10
개의 클러스터를 만들었습니다. [그
림
3
-
36
]의 예제 데이터로 만든 덴드로그램에서는 가지의 길이를 보고 데이터를 나누고 있는
두 개 또는 세 개의 클러스터를 확인할 수 있었습니다. 하지만 얼굴 데이터셋에서는 자연스럽
게 자를 수 있는 위치가 보이지 않습니다. 어떤 가지는 그룹을 잘 구분한 듯 보이지만 어떤 ...