层次聚类 (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's链接。

这些例程用于计算层次结构的统计数据。

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])

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