我想知道是否可以使用python上的层次群集使用>不同的样本尺寸?更确切地说,使用Ward的最小差异方法。
例如,我有5个整数列表,A,B,C,D,不同的长度。我要做的是根据Ward的方法将这5个列表分为3组(合并群集的差异减少)。
有人知道该怎么做吗?
我们可以考虑这些列表5是您要将3组群集成的样本。您可能知道的分层群集可以作为输入距离矩阵。距离矩阵评估样品之间的某种成对距离(或差异)。
您必须通过选择有意义的距离函数来构造此5x5矩阵。这在很大程度上取决于您的样本/整数所示。由于您的样品没有恒定的长度,因此无法计算诸如Euclidean距离之类的指标。
例如,如果您的列表中的整数可以解释为类,则可以计算jaccard索引以表达某种不同的索引。
[1 2 3 4 5]和[1 3 4]的Jaccard相似性指数为3/5(或 2/5的差异)。
0完全不同,1完全相同。
https://en.wikipedia.org/wiki/jaccard_index
一旦计算出差异矩阵(实际上它仅代表5个选择2 = 10个不同的值,因为此矩阵是对称的),您可以在其上应用层次群集。
重要的部分是找到问题的适应距离函数。