normalized-mutual-information

This algorithm assesses how similar are 2 input partitions of a given network.

Usage no npm install needed!

<script type="module">
  import normalizedMutualInformation from 'https://cdn.skypack.dev/normalized-mutual-information';
</script>

README

Normalized Mutual Information

Description

Given 2 partitions of the same network, NMI allows us to check how correlated are both. This value varies between 0 (disparate partitioning) and 1 (same clusters were identified).

Usage

Install package using NPM.

npm i --save normalized-mutual-information

Require it using Node.js.

const nmi = require('normalized-mutual-information');

Run it!

let node2com = nmi.jNMI(array1, array2);

// Each value of the array is the community to which each node (given by the position in the array) belongs.

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.

Phyl

Supervision Team

Alexandre Francisco (INESC-ID & IST) | João Carriço (iMM) | Vítor Borges (INSA)