Giter Club home page Giter Club logo

davidemiceli / watch-complexity Goto Github PK

View Code? Open in Web Editor NEW
5.0 4.0 3.0 1.11 MB

A package to understand and analyze complex networks and more in general complex data. It is a collection of clustering techniques inspired by social science and communication theories.

Home Page: https://davidemiceli.github.io/watch-complexity

License: MIT License

JavaScript 100.00%
ai artificial-intelligence socialsciences machine-learning machine-intelligence network-analysis communication-science computational-social-science ml sociology

watch-complexity's Introduction

Watch Complexity · GitHub license PRs Welcome

WatchComplexity is a package to understand and analyze complex networks and more in general complex data. It is a collection of clustering techniques inspired by social science and communication theories.

Documentation

All useful informations can be found in the wiki documentation:

Algorithms

The tool provides the following algorithms.

Getting started

Install

npm install watch-complexity

How to use it

const watchcomplexity = require('watch-complexity');

Example of use:

// The list of edges
const edges = [
  {from: "Napoleon", to: "Myriel", weight: 1},
  {from: "Mme.Magloire", to: "Myriel", weight: 10},
  {...}
];
// Measure the influence score and detect the influence roles
const nodes = watchcomplexity.influence.typology(edges);

That will return as result:

{
 ranking: 
   [
      {node: "Marius", role: "Hub", score: 100},
      {node: "Courfeyrac", role: "Amplifier", score: 93.68029739776952},
      {node: "Enjolras", role: "Reducer", score: 92.93680297397769},
      {node: "Fantine", role: "Amplifier", score: 89.96282527881041},
      ...,
      {node: "Mme.Hucheloup", role: "Emitter", score: 39.405204460966544},
      {node: "Anzelma", role: "Low emitter", score: 34.94423791821562},
      {node: "Pontmercy", role: "Reducer", score: 33.08550185873605},
      ...
      {node: "OldMan", role: "Emitter branch", score: 1.4869888475836461},
      {node: "Napoleon", role: "Emitter branch", score: 0}
   ],
  nodes: 77,
  edges: 254,
  distribution:  {
    Blackhole: 0,
    Vulcano: 0,
    Channeler: 0,
    Chain: 0,
    Bridge: 1,
    Connector: 3,
    'Emitter branch': 15,
    'Receiver branch': 2,
    Receiver: 2,
    Emitter: 4,
    'Low emitter': 9,
    Idle: 0,
    Transceiver: 5,
    Tophub: 0,
    Hub: 1,
    Dam: 6,
    Reducer: 12,
    Megamplifier: 7,
    Amplifier: 10
  }
}

Tests

Unit tests are inside the folder /test, included test coverage through nyc.

To run all unit tests, type:

npm test

Motivation

Our main goal is to do experimental research with practical applications.

License

WatchComplexity is an open source project available under the MIT license.

watch-complexity's People

Contributors

davidemiceli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.