对具有数字序列的不同长度的行进行分层聚类

时间:2016-04-25 08:30:35

标签: r hierarchical-clustering unsupervised-learning

我想在我的一个项目中进行层次聚类。

我最初的问题是我有一个巨大的图表,我已经迭代了大量的路径并报告了以下格式的路径节点。所以下面的示例中的每个数字代表一个图形节点,而行代表一个路径。现在我想根据共享节点的数量对这些路径进行聚类,以此来隔离类似的路径 1210, 158, 1222, 1468 1210, 1222, 198 158, 1468, 25, 26, 27, 28

现在我想根据类似节点的数量在行之间进行层次聚类。在上表中,由于相同的节点1210和1222,行(路径)1和2可以是一个集群的一部分。由于类似的节点158和1468,行(路径)1和3也可以是另一个集群的一部分。

我检查过我可以使用hclust函数进行分层聚类。该函数将相异矩阵作为参数。我不确定如何创建此距离指标。它似乎可以使用Jaccard相似性度量。但是我没有在dist方法中找到Jaccard相似性的任何选项,也没有在上面的变量列格式中找到任何选项。

此致

1 个答案:

答案 0 :(得分:0)

Here's an example of hclust with Jaccard distance (using vegdist in vegan package), based on abstraction of your data as a binary dataset:

dat
  25 26 27 28 158 198 1210 1222 1468
1  0  0  0  0   1   0    1    1    1
2  0  0  0  0   0   1    1    1    0
3  1  1  1  1   1   0    0    0    1

library(vegan)
dist<-vegdist(dat, method="jaccard")
hclust(dist) %>% plot

enter image description here