scipy.cluster.hierarchy.to_tree

scipy.cluster.hierarchy.to_tree(Z, rd=False)[源代码]

将链接矩阵转换为易于使用的树对象。

对根的引用 ClusterNode 对象(默认情况下)返回。

每个人 ClusterNode 对象具有一个 leftrightdistid ,以及 count 属性。左侧和右侧属性指向组合以生成群集的ClusterNode对象。如果两者均为None,则 ClusterNode 对象是叶节点,其计数必须为1,其距离没有意义,但设置为0。

注:提供此功能是为了方便类库用户。ClusterNode不用作此库中任何函数的输入。

参数
Zndarray

形式正确的链接矩阵(请参阅 linkage 功能文档)。

rd布尔值,可选

如果为false(默认值),则为对根的引用 ClusterNode 对象,则返回。否则,将返回一个元组 (r, d) 返回。 r 是对根节点的引用,而 d 是一份 ClusterNode 对象-链接矩阵中的每个原始条目加上所有群集步骤的条目。如果群集ID小于样本数 n 在链接矩阵描述的数据中,则它对应于单个群集(叶节点)。看见 linkage 有关将群集ID分配给群集的详细信息,请参阅。

退货
treeClusterNode或tuple(ClusterNode,ClusterNode列表)

如果 rd 为假,则为 ClusterNode 。如果 rd 为True,长度列表 2*n - 1 ,具有 n 样本数。请参阅的说明 rd 有关更多详细信息,请参阅上述内容。

示例

>>> from scipy.cluster import hierarchy
>>> rng = np.random.default_rng()
>>> x = rng.random((5, 2))
>>> Z = hierarchy.linkage(x)
>>> hierarchy.to_tree(Z)
<scipy.cluster.hierarchy.ClusterNode object at ...
>>> rootnode, nodelist = hierarchy.to_tree(Z, rd=True)
>>> rootnode
<scipy.cluster.hierarchy.ClusterNode object at ...
>>> len(nodelist)
9