sklearn.cluster.ward_tree

sklearn.cluster.ward_tree(X, *, connectivity=None, n_clusters=None, return_distance=False)

[源码]

基于特征矩阵的Ward聚类。

递归地合并簇对, 这些簇能最小增加的簇内方差。

inertia矩阵使用基于Heapq的表示。

这是结构化版本,它考虑了样本之间的一些拓扑结构。

用户指南中阅读更多内容。

参数 说明
X array, shape (n_samples, n_features)
表示要聚类的n个样本的特征矩阵
connectivity sparse matrix (optional)
连接矩阵。为每个样本定义遵循给定数据结构的相邻样本。这可以是连接矩阵本身,也可以是可调用的,能将数据转换为连接矩阵,例如从kneighbors_graph派生的连接矩阵。默认为None,分层聚类算法是一种非结构化的聚类算法。
n_clusters int (optional)
提前停止n_clusters簇树的构建。如果聚类的数量与样本数相比并不少,这对于减少计算时间是非常有用的。在这种情况下,不计算完整的树,因此‘children’输出的用处有限,应该使用‘parents’输出。此选项仅在指定连接矩阵时有效。
return_distance bool (optional)
如果为True,则返回聚类之间的距离。
返回值 说明
children 2D array, shape (n_nodes-1, 2)
每个非叶节点的子节点。小于n_samples的值对应于原始样本树的叶子。大于或等于n_samples的节点i是一个非叶节点,具有子节点children_[i - n_samples]。或者,在第i次迭代时,将children[i][0]和children[i][1]合并成节点n_samples + i
n_connected_components int
图中连通部件的数目。
n_leaves int
树上的叶子数
parents 1D array, shape (n_nodes, ) or None
每个节点的父节点。只有在指定连接矩阵时才返回,否则返回“None”。
distances 1D array, shape (n_nodes-1, )
只有当return_distance设置为True(为了兼容)时, 才会返回。节点中心之间的距离。distances[i]对应于节点子children[i, 1]children\[i, 2][i,2]之间的加权欧氏距离。如果节点指的是树的叶子,那么distances[i]就是它们的未加权欧几里德距离。距离按以下方式更新(来自scipy.hierarchy.linkage)。
新条目计算如下,
,
其中是由聚类组成的新加入的聚类,是森林中未使用的聚类。, 是他参数的基数。这也被称为增量算法。