The resolution parameter in the Louvain method might make a difference. I'm pretty sure that the igraph (multilevel_community) implementation uses only a resolution parameter of 1, but this is tunable in other implementations.
Check out the examples on this page:
Even if igraph doesn't implement these methods, it does play very nice with pajek for import and export.
The other alternative is to consider overlapping clustering routines, such as OSLOM (which at the moment is only implemented in C and is a bit tedious to work with).
Take care, BERNiE
Dr Bernie Hogan Research Fellow, Oxford Internet Institute University of Oxford
Your graph seems quite dense; about (2*3M) / 7K = 857 outgoing edges/arcs per node on average. This is *only* on average.
If you have, in addition, a graph that has highly connected hub nodess and/or small diameter, it could well be a very hard graph to cluster.
I advise you to look into ways to reduce the number of edges in the graph and make sure it does not have highly connected nodes; a simple approach is possible if the edges have weights associated with them. (I recommend considering (reciprocal) nearest neighbour type selection; e.g. take the arc merge (or intersect) of all top-N sections of the arc lists of all nodes).
It should be possible even in the absence of weights, either with quick and crude methods (remove nodes with many edges) or by considering the number of triangles an edge participates in and thus establishing some kind of weighting.
There is another clustering algorithm that has a parameter affecting granularity (mcl - I wrote it), but I have not yet made it available in igraph unfortunately. Anyway, I think the considerations above are likely more important.
best, Stijn
On Tue, Aug 14, 2012 at 11:31:31AM -0400, Sam Steingold wrote:
Hi, No matter what community detection I use (leading.eigenvector.community, multilevel.community &c), I get just 2 communities (I have 7k vertexes and ~3M edges). I want many more smaller communities (even if less modular), because this community detection is just one step in a long process. How do I limit the community size? Is there a better way to ensure that I get many communities? Thanks! -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://dhimmi.com http://mideasttruth.com http://americancensorship.org http://palestinefacts.org http://camera.org will write code that writes code that writes code for food
_______________________________________________ igraph-help mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/igraph-help
-- Stijn van Dongen >8< -o) O< forename pronunciation: [Stan] EMBL-EBI /\\ Tel: +44-(0)1223-492675 Hinxton, Cambridge, CB10 1SD, UK _\_/ http://micans.org/stijn
_______________________________________________ igraph-help mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/igraph-help
|