scipy.cluster.hierarchy.

fclusterdata#

scipy.cluster.hierarchy.fclusterdata(X, t, criterion='inconsistent', metric='euclidean', depth=2, method='single', R=None)[source]#

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

对 n×m 数据矩阵 X 中的原始观测值进行聚类(n 个观测值在 m 维中),使用欧几里得距离度量来计算原始观测值之间的距离,使用单链接算法执行层次聚类,并使用不一致方法(以 t 作为截止阈值)形成扁平聚类。

返回一个长度为 n 的 1-D 数组 TT[i] 是原始观测值 i 所属的扁平聚类的索引。

参数::
X(N, M) ndarray

N×M 数据矩阵,其中 N 个观测值在 M 维中。

t标量
对于标准“不一致”、“距离”或“单标准”,

这是形成扁平聚类时要应用的阈值。

对于“最大聚类”或“最大聚类_单标准”标准,

这将是请求的最大聚类数。

criterion字符串,可选

指定形成扁平聚类的标准。有效值为“不一致”(默认)、“距离”或“最大聚类”聚类形成算法。有关描述,请参阅 fcluster

metric字符串或函数,可选

用于计算成对距离的距离度量。有关描述和链接以验证与链接方法的兼容性,请参阅 distance.pdist

depth整数,可选

不一致计算的最大深度。有关更多信息,请参阅 inconsistent

method字符串,可选

要使用的链接方法(单链接、完全链接、平均链接、加权链接、中位数重心、ward)。有关更多信息,请参阅 linkage。默认值为“单链接”。

Rndarray,可选

不一致矩阵。如果未传递,它将在必要时进行计算。

返回值::
fclusterdatandarray

一个长度为 n 的向量。T[i] 是原始观测值 i 所属的扁平聚类编号。

另请参阅

scipy.spatial.distance.pdist

成对距离度量

备注

此函数类似于 MATLAB 函数 clusterdata

示例

>>> from scipy.cluster.hierarchy import fclusterdata

这是一个方便的方法,它抽象了在典型的 SciPy 层次聚类工作流程中执行的所有步骤。

>>> X = [[0, 0], [0, 1], [1, 0],
...      [0, 4], [0, 3], [1, 4],
...      [4, 0], [3, 0], [4, 1],
...      [4, 4], [3, 4], [4, 3]]
>>> fclusterdata(X, t=1)
array([3, 3, 3, 4, 4, 4, 2, 2, 2, 1, 1, 1], dtype=int32)

此处的输出(对于数据集 X、距离阈值 t 和默认设置)是四个聚类,每个聚类包含三个数据点。