gpt4 book ai didi

python - scipy.cluster.hierarchy.linkage 的返回值是什么意思?

转载 作者:行者123 更新时间:2023-11-28 22:36:09 28 4
gpt4 key购买 nike

假设我们有如下的 X 矩阵:

[[9 0]
[1 4]
[2 3]
[8 5]]

然后,

from scipy.cluster.hierarchy import linkage
Z = linkage(X, method="ward")
print(Z)

返回矩阵如下:

[[  1.           2.           1.41421356   2.        ]
[ 0. 3. 5.09901951 2. ]
[ 4. 5. 10. 4. ]]

返回值的含义是什么?

最佳答案

虽然这有been answered before ,这是一个“阅读文档”的答案。我认为稍微解释一下文档很有用。

从文档中,我们读到:

An (n−1) by 4 matrix Z is returned. At the i-th iteration, clusters with indices Z[i, 0] and Z[i, 1] are combined to form cluster n + i. A cluster with an index less than n corresponds to one of the n original observations. The distance between clusters Z[i, 0] and Z[i, 1] is given by Z[i, 2]. The fourth value Z[i, 3] represents the number of original observations in the newly formed cluster.

我认为令人困惑的部分是前 n 个集群是单例(“原始观察”)。所以 Z 中的第一个值实际上是第 n+1 个簇。这是第一个结合两个单例的集群。

因此在您的示例中,Z[0] 是第 4+1 个簇。我们有

 Z[0] = [  1.           2.           1.41421356   2.        ]

前两个值告诉我们哪些簇被用来创建簇 Z[0]。它们是 cluster_1,单例 [1,4] 和 cluster_2,单例 [2, 3]。

第三个值给出了集群之间的距离。我们可以验证 sqrt((2-1)^2 + (3-4)^2)) = 1.41...

第四个值告诉我们集群 Z[0] 中有多少个单例。

所以看看你的最后一个集群 Z[2],我们看到它结合了 Z 中的前两个集群。每个集群都包含两个唯一的单体,所以 Z[2,3] = 4。

关于python - scipy.cluster.hierarchy.linkage 的返回值是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712465/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com