我想使用 NMI 将我在社区检测中的算法与其他方法进行比较。所以我正在制作一些图表sample_sbm()
,我用这些图表定义给我 10 个节点,并且在block.sizes=c(3,3,4)
部分我定义有社区,第一个有 3 个成员,第二个有 3 个,第三个4名成员。现在我想要他们的成员向量。它应该是:1 1 1 2 2 2 3 3 3 3
最好的方法是什么?我正在考虑采用 3 个参数 c1、c2、c3,然后在 block.sizes() 中使用它们,所以我可以使用 for 循环来构建成员向量。但看起来有点脏.因为社区的数量应该是任意的。如果你给我一些更好的建议,我将不胜感激
library(igraph)
p<-cbind( c(1, 0,0), c(0, 1,0) ,c(0,0,1))
g <- sample_sbm(10, pref.matrix=p, block.sizes=c(3,3,4) )
#comunity detection algorithm
wc <- cluster_walktrap(g)
modularity(wc)
a=membership(wc)