scipy.cluster.hierarchy.fclusterdata

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

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

在n×m数据矩阵X(m维中的n个观测值)中聚类原始观测值,使用欧几里得距离度量计算原始观测值之间的距离,使用单一链接算法执行等级聚类,并使用不一致方法与 t 作为分界点。

一维阵列 T 长度的 n 返回。 T[i] 是原始观测到的平面簇的索引 i 属于这里。

参数
X(N,M)ndarray

具有M维N个观测值的N×M数据矩阵。

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

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

对于‘maxcluster’或‘maxcluster_monocritt’标准,

这将是请求的最大群集数。

criterion字符串,可选

指定形成扁平簇的标准。有效值为“不一致”(默认值)、“距离”或“最大群集”群集形成算法。看见 fcluster 有关说明,请参阅。

metric字符串或函数,可选

用于计算成对距离的距离度量。看见 distance.pdist 有关说明和链接,以验证与链接方法的兼容性。

depth整型,可选

不一致性计算的最大深度。看见 inconsistent 了解更多信息。

method字符串,可选

要使用的联动方式(单一、完全、平均、加权、中值质心、WARD)。看见 linkage 了解更多信息。默认值为“Single”。

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 和默认设置)是四个群集,每个群集具有三个数据点。