从R中的邻接矩阵/边列表生成集群

时间:2012-01-10 18:49:39

标签: r cluster-analysis adjacency-list

我正在尝试寻找潜在的群集或节点组(在这种情况下是论坛消息)。

在当前数据中,每个节点(消息)暂时与其他n个消息组合在一起,并且该组给出了名称。因此,我们知道msg ID 1与msg ID 3和7一起被看到,比如说。

我目前正在使用该信息构建边缘列表(如果它们已组合在一起,边缘存在),然后使用walktrap社区生成树形图。

鉴于边缘列表,还有其他方法来梳理群组或群集吗? (我正在使用R,但指向任何内容都会有所帮助)。

谢谢你的时间!

3 个答案:

答案 0 :(得分:3)

我对R不太了解,但是......

This overview paper详细讨论了图聚类。您可能还对Markov clustering(MCL)算法感兴趣。

答案 1 :(得分:1)

对于R中的网络分析,我建议使用igraph。你已经在使用它吗?它允许使用不同的聚类方法构建树形图。然后使用community.to.membership()来剪切树形图。 MCL算法尚未从igraph中获得,但它可以很容易地从命令行运行。

答案 2 :(得分:1)

一种常见的全能方法似乎是为数据建立一个邻接矩阵,然后使用矩阵乘法来构建一种传递闭包,然后,例如,计算逆矩阵以识别“原因”,或计算PCA / ICA来识别群体。