层次聚类 (scipy.cluster.hierarchy)#

这些函数通过提供每个观测值的平面聚类 ID,将层次聚类切割为平面聚类,或查找由切割形成的森林的根节点。

fcluster(Z, t[, criterion, depth, R, monocrit])

根据给定的链接矩阵定义的层次聚类形成平面聚类。

fclusterdata(X, t[, criterion, metric, ...])

使用给定的度量标准对观测数据进行聚类。

leaders(Z, T)

返回层次聚类中的根节点。

这些是用于凝聚聚类的例程。

linkage(y[, method, metric, optimal_ordering])

执行层次/凝聚聚类。

single(y)

在压缩距离矩阵 y 上执行单链接/最小/最近邻链接。

complete(y)

在压缩距离矩阵上执行全链接/最大/最远点链接。

average(y)

在压缩距离矩阵上执行平均链接/UPGMA。

weighted(y)

在压缩距离矩阵上执行加权链接/WPGMA。

centroid(y)

执行质心链接/UPGMC。

median(y)

执行中位数链接/WPGMC。

ward(y)

在压缩距离矩阵上执行 Ward 链接。

这些例程用于计算层次结构上的统计信息。

cophenet(Z[, Y])

计算链接矩阵 Z 定义的层次聚类中每个观测值之间的协表距离。

from_mlab_linkage(Z)

将 MATLAB(TM) 生成的链接矩阵转换为与本模块兼容的新链接矩阵。

inconsistent(Z[, d])

计算链接矩阵上的不一致性统计信息。

maxinconsts(Z, R)

返回每个非单一聚类及其子聚类的最大不一致性系数。

maxdists(Z)

返回任何非单一聚类之间的最大距离。

maxRstat(Z, R, i)

返回每个非单一聚类及其子聚类的最大统计量。

to_mlab_linkage(Z)

将链接矩阵转换为 MATLAB(TM) 兼容格式。

用于可视化平面聚类的例程。

dendrogram(Z[, p, truncate_mode, ...])

将层次聚类绘制为树状图。

这些是用于将层次结构表示为树对象的数据结构和例程。

ClusterNode(id[, left, right, dist, count])

用于表示聚类的树节点类。

leaves_list(Z)

返回叶节点 ID 列表。

to_tree(Z[, rd])

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

cut_tree(Z[, n_clusters, height])

给定链接矩阵 Z,返回切割后的树。

optimal_leaf_ordering(Z, y[, metric])

给定链接矩阵 Z 和距离,对切割后的树进行重新排序。

这些是用于检查链接矩阵和不一致性矩阵有效性以及检查两个平面聚类分配是否同构的谓词。

is_valid_im(R[, warning, throw, name])

如果传入的不一致性矩阵有效,则返回 True。

is_valid_linkage(Z[, warning, throw, name])

检查链接矩阵的有效性。

is_isomorphic(T1, T2)

确定两个不同的聚类分配是否等价。

is_monotonic(Z)

如果传入的链接是单调的,则返回 True。

correspond(Z, Y)

检查链接矩阵和压缩距离矩阵之间的一致性。

num_obs_linkage(Z)

返回传入链接矩阵的原始观测值数量。

用于绘图的实用例程

set_link_color_palette(palette)

设置供树状图使用的 matplotlib 颜色代码列表。

实用类

DisjointSet([elements])

用于增量连通性查询的不相交集合数据结构。

警告

ClusterWarning

聚类期间引发的 UserWarning