Network Analysis using Python

Mridul Seth (@Mridul_Seth)

I am currently a research intern at NAXYS, Belgium (student at BITS Pilani-Goa, India). I have worked as a student developer for NetworkX(PSF) and GraphSpace(NRNB) during Google Summer of Code 2015 and 2016 respectively and working as one of the org admins of NumFOCUS for GSoC 2017. I use python extensively for academic and hobby projects. I have given tutorials on Network Analysis using Python at EuroSciPy 2016, SciPy India 2015, PyCon US 2017 and will be presenting at EuroSciPy 2017 and PyCon PL 2017 soon. </div>

Abstract

Tags: data modelling networkx python

Politics,Maths,Biology,CS,Finance all of these subjects have one thing in common. They can be modelled using networks. NetworkX is a software package for the creation,study of the structure,dynamics,and functions of complex networks.We'll go through the NetworkX API and the basics of graph theory.

Description

This training session will introduce the basics of network theory and working with graphs using python and the NetworkX package. This will be a hands on tutorial and will require writing a lot of code snippets. The participants should be comfortable with basic python (loops, dictionaries, lists) and some(minimal) experience with working inside a jupyter notebook.

Broadly the tutorial is divided into four parts:

Part A (20 mins)

  • Basics of graph theory and various examples of networks in real life.
  • Introduction to the NetworkX API and various data structures

Part B (30 mins)

  • Work with small synthetic networks (generated using random graph generators) to understand the structure of the network.
  • Analyse the network and study various properties of the network like centrality, connectivity, shortest paths, cliques.

Part C (30 mins)

Part D (10 mins)

  • We'll work on some interesting problems like temporal networks and visualisation of networks. - We'll model the US Airport Network with respect to time and will try to make sense out of it.

By the end of the tutorial everyone should be comfortable with hacking on the NetworkX API, modelling data as networks and basic analysis on networks using python.