Wednesday, February 26, 2014

London developers contribute community detection code for GraphLab

More good news: we just got additional code contribution, this time from Michael Leznik and Ryan Toppings. They have implemented the following Community detection algorithm based on label propagation. LPA-algorithm is explained in http://arxiv.org/pdf/0910.1154.pdf :

Advanced modularity-specialized label propagation algorithm for detecting communities in networks. X. Liu, T. Murata Tokyo Institute of Technology, 2-12-1 Ookayama, Meguro, Tokyo 152-8552, Japan

The contribution contains Java code for GraphChi Java version. (One can find also C++ code for GraphChi C version )

The required Java files are:
BidirectionalLabel.java
CommunityAnalysis.java
CommunityDetection.java
graph_test_data.tsv
graph_test_data.tsv.communities_ids

The code contains a toy example, which one might run passing the following parameters to CommunityDetection class which implements GraphChiProgram<Integer, Integer>
graph_test_data.tsv 2 edgelist

The first parameter is graph file name
The second parameter is number of shards used
The third parameter is the type of graph used
Don't forget to link GraphChi to the project 

It outputs the file in this case: graph_test_data.tsv.communities_ids which contains labels id and label ids belonging to this label. Output for this is included in the zip file.

Thanks a lot Michael & Ryan - you contributions are highly appreciated!


No comments:

Post a Comment