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所属的平面星系号。
参见
注意事项
此函数类似于MATLAB函数
clusterdata
。示例
>>> from scipy.cluster.hierarchy import fclusterdata
这是一种方便的方法,可以抽象出在典型的SciPy的分层聚类工作流程中要执行的所有步骤。
使用将输入数据转换为压缩矩阵
scipy.spatial.distance.pdist
。应用群集方法。
以用户定义的距离阈值获取平面聚类
t
使用scipy.cluster.hierarchy.fcluster
。
>>> 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
和默认设置)是四个群集,每个群集具有三个数据点。