1
votes

I am running Community Detection in graphs and I run different community detection algorithm implemented in igraph listed here :

  1. Edge-betweennes.community(w,-d)
  2. walktrap.community (w,-d)
  3. fastgreedy.community(w)
  4. spinglass.community (w,d, not for unconnected graph)
  5. infomap.community (w,d)
  6. label.propagation.community(w) 
  7. Multivel.community(w)
  8.leading.eigenvector.community (w)

as I have two types of graph one is directed an weighted and the other one is undirected and unweighted, the one which I could use for both are four (1,2,4,5) which I get the error on the forth one as my graph is an unconnected graph, so there is three. now I want to compare them using different evaluation metrics provided in here http://lab41.github.io/Circulo/ , as I searched there is modularity and compare.communities ( metrics listed here :http://www.inside-r.org/packages/cran/igraph/docs/compare.communities are ("vi", "nmi","split.join", "rand","adjusted.rand) in igraph).

what I am wondering about are :

  • is there any other algorithm which is implemented in igraph and is not in the list? and which will give me overlapping communities as well.
  • which of these metric could be used for weighted and directed graph and is there any implementation in igraph?
  • also which metric could be used for which algorithm? , as I go through one of the article "edge-betweeness"the metric used in there was the ground truth and they compare to the known community graph.

thank you in advance.

1

1 Answers

1
votes

Yes, there are many algorithms which are not in iGraph package, to name one: RG+, presented in Cluster "Cores and Modularity Maximization" on 2010.

Modularity by far is the best measure to evaluate communities.

edge.betweenness simply gives you the betweenness centrality values of all the edges, it's not a measure to evaluate communities but can be used for one.