Network Backboning

Download Backboning Code and Data (Python 2, Networkx 1 version)

Backboning code for Python 3 & Networkx 2

The archive contains a Python module to perform network backboning, which is the filtering of non-significant edges from a very dense and noisy network.

The module provides several utilities and the following methods:

  • Noise Corrected: New methodology published at ICDE 2017 developed by Frank Neffke and me (please cite: Coscia & Neffke “Network Backboning with Noisy Data”, ICDE 2017 — Paper, Bibtex);
  • Disparity Filter:;
  • High Salience Skeleton:;
  • Doubly Stochastic Transformation:;
  • Maximum Spanning Tree:;
  • Naive Thresholding.

The module requires the following Python packages:

  • Pandas
  • Numpy
  • Networkx

The archive contains data and example code that should get you up and running. A minimal working example is provided here. I will assume you either have the module in your running directory or in a directory of your Python path:

import backboning
table, nnodes, nnedges ="/path/to/input", "column_of_interest")
nc_table = backboning.noise_corrected(table)
nc_backbone = backboning.thresholding(nc_table, threshold_value)
backboning.write(nc_backbone, "network_name", "nc", "/path/to/output")


Download Backboning Code and Data(Python 2, Networkx 1 version)

Backboning code for Python 3 & Networkx 2