Hierarchical Community Exploration in Graphs
Under construction
Our aim in this work is to co-cluster unweighted bipartite graphs (aka, sparse binary matrices) and navigate the results via a simple GUI. The main motivation stems from our desire to expand upon our previous work. The key idea is simple: instead of treating the original matrix and each of the resulting sub-matrices asymmetrically (by enforcing a random graph model on the sub-matrices), we treat them symmetrically by applying the same criteria recursively. We have also built a simple visualization demo in Matlab, to navigate the resulting structure, which you may find useful.
Matlab demo
The tarball hcc-gui-0.1.tgz contains the code, along with some sample data.
Quickstart guide
After downloading the code, you can try this basic demo:
> mex cc_col_nz.c > mex cc_iter_main.c > load demodata > showgroups
Before calling any co-clustering functions, make sure to:
> setpref('cc', 'selfgraph', false);
Creating groups and hierarchy (will take some time, depending on hardware):
% Make sure Aauthors from demodata.mat is loaded for this example > Hauthors = cc_hier_search(Aauthors);
Displaying groups and hierarchy:
> gui_hier(Hauthors, 'labels', prolific_authors, 'matrix', Aauthors);
Known issues
The code does not handle certain conditions gracefully, including:
- The matrix must be sparse.
- The matrix should have only 0/1 entries, or you may get weird errors (or even a coredump from the MEX routines).
- The code for self-graphs is known to be broken in this release.
