X[i] 属于哪个簇?
Which cluster does X[i] belong to?
我有一个大数据矩阵 X
,我使用 SciPy Ward 层次聚类的实现,如下所示:
Z = ward(X.todense())
fig = plt.figure(figsize=(25, 10))
dn = dendrogram(Z)
我现在想看看 类 X[i]
属于哪个。我该怎么做?
从 linkage
矩阵 Z
您可以得到具有 scipy.cluster.hierarchy.fcluster
的聚类。
首先,我假设您想要与 dendrogram
的颜色相同的簇。从 docs 我们可以看到,如果没有指定其他内容,color_threshold
将设置为 0.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
我有一个大数据矩阵 X
,我使用 SciPy Ward 层次聚类的实现,如下所示:
Z = ward(X.todense())
fig = plt.figure(figsize=(25, 10))
dn = dendrogram(Z)
我现在想看看 类 X[i]
属于哪个。我该怎么做?
从 linkage
矩阵 Z
您可以得到具有 scipy.cluster.hierarchy.fcluster
的聚类。
首先,我假设您想要与 dendrogram
的颜色相同的簇。从 docs 我们可以看到,如果没有指定其他内容,color_threshold
将设置为 0.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