根据Scipy documentation,我们可以获得非单一群集的群集ID。我曾在stack-overflow问过同样的问题。但这似乎不是最好的解决方案,我尝试了几个。我仍然无法获得非单身人士的群集ID。
import numpy as np
import scipy.cluster.hierarchy
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
mat = np.array([[ 0. , 1. , 3. ,0. ,2. ,3. ,1.],
[ 1. , 0. , 3. , 1., 1. , 2. , 2.],
[ 3., 3. , 0., 3. , 3., 3. , 4.],
[ 0. , 1. , 3., 0. , 2. , 3., 1.],
[ 2. , 1., 3. , 2., 0. , 1., 3.],
[ 3. , 2., 3. , 3. , 1. , 0. , 3.],
[ 0. , 2., 4. , 1. , 3., 3. , 0.],
[ 1. , 2., 5. , 1. , 3., 1. , 0.],
[ 4. , 2., 4. , 1. , 3., 0. , 0.],
[ 1. , 2., 2. , 1. , 0., 3. , 0.]])
n = len(mat)
linkage_matrix = linkage(mat, "complete")
D = dendrogram(linkage_matrix,
p=4,
color_threshold=1,
truncate_mode='lastp',
distance_sort='ascending')
plt.show()
如何知道谁在里面(5),(2)和(2)?这是一个非常简单的图表,但是对于许多非单一集群来说这变得更加复杂。