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

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