层次聚类 (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])

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