🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

ngraph.louvain

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngraph.louvain

Given a graph instance detects communities using the Louvain Method

2.0.0
latest
Source
npm
Version published
Weekly downloads
49
-7.55%
Maintainers
1
Weekly downloads
 
Created
Source

ngraph.louvain

Given a graph instance detects clusters using the Louvain Method. Demo

usage

// Let's say you have an ngraph instance:
var graph = createAGraph();

// To detect clusters:
var detectClusters = require('ngraph.louvain');
var clusters = detectClusters(graph);

// now you can iterate over each node and get it's community (aka class):
graph.forEachNode(function(node) {
  console.log(node.id, clusters.getClass(node.id));
});

Note: Louvain method is hierarchical. I.e. you should be able to get coarser graphs based on detected communities. By default ngraph.louvain does not implement hierarchies, yet you can easily achieve it by following:

var coarsen = require('ngraph.coarsen');

var detectClusters = require('ngraph.louvain');
var clusters = detectClusters(graph);

while(clusters.canCoarse()) {
  graph = coarsen(graph, clusters);
  clusters = detectClusters(graph);
  // this will give you next level in the hierarchy
}

install

npm install ngraph.louvain

see also

license

MIT

Keywords

modularity

FAQs

Package last updated on 14 Apr 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts