infomap
v1.0.5
Published
Infomap optimizes the map equation, which exploits the information-theoretic duality between the problem of compressing data, and the problem of detecting and extracting significant patterns or structures within those data.
Downloads
26
Maintainers
Readme
Infomap Algorithm
Description
The execution of this algorithm is divided in 2 phases: minimizing description length (using map equation) and community aggregation. Although the implementation is similar to the Louvain algorithm, the optimizing function is different.
Map Equation:
Usage
Install package using NPM.
npm i --save infomap
Require it using Node.js.
const infomap = require('infomap');
Start community finding.
let node2com = infomap.jInfomap(nodes, links, min);
// node2com = {nodeID1: commmunityID1, nodeID2: commmunityID2...}
// nodes = [nodeID1, nodeID2...]
// links = [{source: nodeID1, target: nodeID2, value: weight ...}]
// Whenever the MDL between 2 partitions is lower than a value "min", the iteration stops.
More
Community Finding with Applications on Phylogenetic Networks (Master Thesis)
Louvain, Infomap, Layered Label Propagation, Label Propagation, Hamming Distance, Girvan-Newman Benchmark and Normalized Mutual Information algorithms were developed in JavaScript. To visualize the results, an interface using D3.js (SVG and Canvas) and Cytoscape was implemented. Every community finding algorithm was tested in terms of accuracy, speed and memory against 2 synthetic networks (Girvan-Newman and Lacichinetti-Fortunato-Radicchi networks with varying parameters). Final goal was to cluster microbiological data.
Check out more in the thesis website. You may also download an image of the application in Docker Hub. A description video is below.
Supervision Team
Alexandre Francisco (INESC-ID & IST) | João Carriço (iMM) | Vítor Borges (INSA)