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

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