scipy.cluster.hierarchy.

cut_tree#

scipy.cluster.hierarchy.cut_tree(Z, n_clusters=None, height=None)[source]#

给定一个连接矩阵 Z,返回剪切树。

参数:
Zscipy.cluster.linkage array

连接矩阵。

n_clustersarray_like, 可选

剪切点处树中的簇数。

heightarray_like, 可选

剪切树的高度。仅适用于超度量树。

返回:
cutreearray

一个数组,表示每个聚合步骤的组成员资格。例如,对于一个完整的剪切树,在第一列中,每个数据点都在自己的簇中。在下一步中,合并两个节点。最后,所有单例和非单例簇都归属于一个组。如果给出n_clustersheight,则这些列对应于n_clustersheight的列。

示例

>>> from scipy import cluster
>>> import numpy as np
>>> from numpy.random import default_rng
>>> rng = default_rng()
>>> X = rng.random((50, 4))
>>> Z = cluster.hierarchy.ward(X)
>>> cutree = cluster.hierarchy.cut_tree(Z, n_clusters=[5, 10])
>>> cutree[:10]
array([[0, 0],
       [1, 1],
       [2, 2],
       [3, 3],
       [3, 4],
       [2, 2],
       [0, 0],
       [1, 5],
       [3, 6],
       [4, 7]])  # random