Python层次聚类不一致:不一致的输出意味着什么

2024-05-16 18:58:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习如何使用scipy.cluster.hierarchy。不一致。我从document和这个one知道第一列和第二列分别表示平均值和标准差;第三列表示链接数,第四列表示不一致系数。
然而,我不明白的是:

  1. 计算中包含的所有链接的真正含义是什么?
  2. d参数的scipy.hierarchy.cluster。不一致(Z,d=2)真的吗?

例如,假设X矩阵如下:

[[2], [8], [0], [4], [1], [9], [9], [0]]

然后,通过

^{pr2}$

我们得到了

[[  2.   7.   0.   2.]
 [  5.   6.   0.   2.]
 [  0.   4.   1.   2.]
 [  8.  10.   1.   4.]
 [  1.   9.   1.   3.]
 [  3.  11.   2.   5.]
 [ 12.  13.   4.   8.]]

最后,得到不一致性

inconsistent(Z)

输出是

[[ 0.       0.       1.       0.     ]
 [ 0.       0.       1.       0.     ]
 [ 1.       0.       1.       0.     ]
 [ 0.66667  0.57735  3.       0.57735]
 [ 0.5      0.70711  2.       0.70711]
 [ 1.5      0.70711  2.       0.70711]
 [ 2.33333  1.52753  3.       1.09109]]

对于第四行,使用哪三个环节来计算均值和标准差,从而精确地得到0.666670.57735的值?在

[ 0.66667  0.57735  3.       0.57735]

Tags: 参数hierarchy链接矩阵scipydocumentone平均值
1条回答
网友
1楼 · 发布于 2024-05-16 18:58:17

首先你必须了解Z矩阵:

[[  2.   7.   0.   2.] <== x[2] is linked with x[7], forming cluster x[8] = {x[2], x[7]}
 [  5.   6.   0.   2.]
 [  0.   4.   1.   2.] <== x[10] = {x[0], x[4]}
 [  8.  10.   1.   4.] <== x[11] = {x[8], x[10]} = {x[2], x[7], x[0], x[4]}
 [  1.   9.   1.   3.]
 [  3.  11.   2.   5.]
 [ 12.  13.   4.   8.]]

第四行计算包括3个环节:

^{pr2}$

(1,1,0)的平均值是R[3,0] = 0.66667,标准差是R[3,1] = 0.57735(用N-1规范化,而不是N)。不一致值计算如下:

           Z[i,2] - R[i,0]      1 - 0.6667
R[i,3]  =         -  =          =  0.57735
              R[i,1]             0.57735
  1. what does the all the links included in the calculation really mean?
  2. what does the d parameter of scipy.hierarchy.cluster.inconsistent(Z, d=2) really do?

对于集群C,集群C下面的所有链路,直到深度d,都被视为计算统计信息(平均值和标准差)。在上面的例子中,d=2表示我们查看创建x[11](深度1)的链接,以及x[8]和x[10](深度2)以下的链接。在

相关问题 更多 >