|
From: | Larson, TR |
Subject: | [igraph] community detection algorithms |
Date: | Wed, 28 Oct 2009 15:07:54 +0000 |
User-agent: | Thunderbird 2.0.0.23 (Windows/20090812) |
Hello,My first post! I have been experimenting with community detection algorithms in igraph (in R) as a way to extract groups of related chemical compounds. Basically, I start with 2-column matrix of vertices several tens of thousands rows long with ~ 400 unique vertices. Each row represents a pairing that has passed some previous association tests.
I then create an undirected graph from the matrix, stored count.multiple() into the graph weight attribute, and then simplify().
I then tried several community detection algorithms to return membership (either directly or via community.to.membership(), as appropriate):
label.propagation.community walktrap.community fastgreedy.communityI found the best algorithm to be label.propagation (in terms of separating what I know to be different clusters of chemically different compounds from each other, but on the other hand not falsely dividing a cluster containing highly related chemicals in a test set).
Walktrap and fastgreedy give the same membership results every time I run the algorithms. However, label.propagation.community it gives slightly different groupings each time. I have tried setting initial to a set vector (either all 0 or 0:(length(V(g)$name)-1)) and fixed to a vector of all FALSE values in case the algorithm results vary because of random starting values. However, this has no effect.
Any comments would be most welcome; also any other suggestions on how to extract related clusters from my graph structure.
thanks Tony
[Prev in Thread] | Current Thread | [Next in Thread] |