我有一个距离矩阵N*N M,其中M_ij是之间的距离object_i和object_j.正如预期的那样,它采用以下形式:
/ 0 M_01 M_02 ... M_0n\
| M_10 0 M_12 ... M_1n |
| M_20 M_21 0 ... M2_n |
| ... |
\ M_n0 M_n2 M_n2 ... 0 /
Run Code Online (Sandbox Code Playgroud)
现在我希望用层次聚类来聚类这些n个对象.Python有一个这样的实现scipy.cluster.hierarchy.linkage(y, method='single', metric='euclidean').
它的文件说:
y必须是{n\choose 2}大小的向量,其中n是在距离矩阵中配对的原始观测数.
y:ndarray
精简或冗余距离矩阵.压缩距离矩阵是包含距离矩阵的上三角形的平面阵列.这是pdist返回的形式.或者,n维的m个观察向量的集合可以作为m×n阵列传递.
我对此描述感到困惑y.我可以直接M输入我的输入y吗?
更新
@ hongbo-zhu-cn 在GitHub上提出了这个问题.这正是我所关心的.但是,作为GitHub的新手,我不知道它是如何工作的,因此不知道如何处理这个问题.