2017-12-19 13 views
-1

나는 큰 데이터 매트릭스 X을하고 난과 같이 워드의 계층 적 클러스터링의 SciPy 구현을 사용 : 지금 X[i]이 속한 클래스보고 싶은X [i]는 어느 클러스터에 속해 있습니까?

Z = ward(X.todense()) 
fig = plt.figure(figsize=(25, 10)) 
dn = dendrogram(Z) 

. 어떻게해야합니까?

답변

2

linkage 매트릭스 Z에서 scipy.cluster.hierarchy.fcluster으로 클러스터를 가져올 수 있습니다.

먼저, dendrogram의 색상과 동일한 클러스터를 원한다고 가정합니다. docs에서 color_threshold0.7*max(Z[:,2])으로 지정되어 있습니다. 이것이 우리가 사용할 것입니다.

from sklearn.datasets import make_classification 
from scipy.cluster.hierarchy import linkage, fcluster 
X, y = make_classification(n_samples=10) 
Z = linkage(X, method='ward') 
thresh = 0.7*max(Z[:,2]) 
fcluster(Z, thresh, criterion='distance') 

도 참조 How to get flat clustering corresponding to color clusters in the dendrogram created by scipy

: 예를 들어