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)。新条目计算如下, , 其中是由聚类和组成的新加入的聚类,是森林中未使用的聚类。, 是他参数的基数。这也被称为增量算法。 |