如果你在 Python 的 scipy 中有这个层次聚类调用:
from scipy.cluster.hierarchy import linkage
# dist_matrix is long form distance matrix
linkage_matrix = linkage(squareform(dist_matrix), linkage_method)
那么从这个到集群分配的单个点的有效方法是什么?即一个长度向量,N
其中N
是点数,其中每个条目i
是点的簇数i
,给定由给定阈值thresh
在结果聚类上生成的簇数?
澄清一下:集群编号将是它在对树应用阈值后所在的集群。在这种情况下,您将为所在集群的每个叶节点获得一个唯一的集群。在每个点属于一个“最具体的集群”的意义上,这是由您切割树状图的阈值定义的。
我知道这scipy.cluster.hierarchy.fclusterdata
会给你这个集群分配作为它的返回值,但我是从定制的距离矩阵和距离度量开始的,所以我不能使用fclusterdata
. 问题归结为:我如何计算fclusterdata
正在计算的内容——集群分配?