来自外部集群的 NMI

NMI from external clustering

我想比较不同聚类解决方案的归一化互信息。这些集群解决方案来自不同的来源,但我想将它们与 NMI 进行比较。

我知道 igraph 中有 compare() 功能,但这需要对象属于 class 个社区。

来自帮助文件:使用各种指标比较社区结构。

现在有没有as.communitiesas_communities命令或某种方法来获取两个的NMI矩阵?

这会引发错误:

karate <- graph.famous("Zachary")

igraph_community <- cluster_infomap(karate)

v <- as.vector(V(karate))
external <- cbind (v, c(rep(1,10),rep(2,10),rep(3,14)) )

compare(igraph_community,external, method = "nmi" )

compare 查找社区对象或向量。现在,您正在向它发送 external 中的 2 x n 矩阵。将其子集化为社区成员的向量:

compare(igraph_community,external[,2], method = "nmi" )
[1] 0.3105313