A quick guide to Network Science

A quick guide to Network Science

For those who would like to learn about complex connections - from theory to practice in Python


Hi, Everyone; I am finally back with a new issue - where I am going to get you on board with network science.

First of all, let me start with an invitation to my free webinar at the Data Science Dojo on the 4th of December - just follow this link to sign up.


What is network?science?

Network science may just be called the science of connections. There are hidden networks behind any complex system, from society to cities to our nervous systems. Network science provides a universal quantitative framework to analyze and understand the various patterns in these systems. Today’s network science has found its applications in fields ranging from medicine to HR, from multimedia to urban planning, and from policy-making to fraud detection.

Such networks are usually modeled by graphs from the field of discrete mathematics. These graphs are abstract constructs of nodes and connections, serving as their own scientific field, graph theory. However, the really fun part for any data scientist comes when we will up these graphics?—?the mathematical skeletons?—?with data. In the following sections, I will review the materials I have found the most useful during the past nearly ten years to understand both the theoretical concepts and the hands-on applications of network science.


Five books

First, I would like to briefly introduce five books that I believe can get you on board with network science, from the history and theory to the technical and coding part.

Linked?—?Albert-László Barabási (2002)

I believe that in many’s opinions, the founding piece of network science is Linked by Albert-László Barabási. This book, published in 2002 and written by one of the first pioneers of the field, has been used widely by corporate and political leaders and academics. Throughout 15 chapters, aptly called links, he describes how the whole of network science started and how scientific research started to target real-life networks using data. He dives into the emergence of so-called small-worlds, discusses the resilience of different networks, dissects many aspects of the internet as a network?—?and many more.?

Get your copy here.

Six Degrees?—?Duncan J. Watts (2004)

The term six degrees of separation, meaning every randomly picked person on the globe can be connected via five intermediate people (and six connections) is probably one of the most famous findings of network science. While the idea is nearly a century old, the quantitative, data-based proof?—?along with the complete theory of the small worlds we live in. This book dives into the nature of various networks, from computer networks to terrorist organizations to epidemics to financial market crashes, to provide an eye-opening view of the major role networks play in our lives.

Get your copy on Amazon.

Connecting the Dots?—?Milan Janosov (2024)

This work, coming from two decades later from the school of Barabási, aims to dive deep into the interconnectedness of our daily lives in the era of smartphones, apps, and other digital tools to track everything from our social interactions to our work habits. As such, it provides a detailed sneak-peak for the non-technical yet tech-savvy readers on how networks?—?whether social, professional, or technological?—?emerge, evolve, and sometimes disappear, illustrating this with fun and entertaining examples that explore everything from love triangles among the Hollywood elite to the fate of Game of Thrones characters.

Find it on Amazon!


Network Science?—?Albert-László Barabási (2016)

While Linked is a great appetizer for anyone interested in picking up network thinking, Network Science, published in 2016, is an all-inclusive textbook of network science. This is for those who enjoy maths and are eager to learn all the technical calculations, often rooted in Physics, behind complex networks. The book comes with a free online websiteand many hands-on exercises. As for the content, it chronologically follows through the evolution of the field, aligning with Linked?—?starting with how the field was born and then diving into the most widespread network modeling types, including statistical properties and mathematical concepts such as degree distributions and community detection in networks.

You will find this large-format book on Amazon.



Network Science with Python?—?David Knickerbocker (2023)

This book, with the subtitle Explore the networks around us using network science, social network analysis, and machine learning by David Knickerbocker, could be the perfect next step to your network science journey since this is an absolutely technical Python cookbook for analyzing networks. By following the steps of this book, you will pick up the necessary skills to create networks from data, visualize, and analyze them, combine them with machine learning tools, and derive quantitative insights?—?all in Python.

Get your copy on Amazon.


Five tools

Now as we are moving on from the higher-level learning materials of network science to the more hands-on, I would like to draw your attention to five tools that have been by far the most frequent guests in my daily network science stack.


NetworkX is the most frequently used and recommended Python library to do network analytics. It is very easy and user-friendly to use, almost as you were speaking in English. It also comes with a Matplotlib integration, allowing you to quickly visualize your networks?—?at a modest aesthetic level. One major shortcoming of the package is its computational speed and power?—?depending on the types of algorithms you are running, with larger networks, it can be extremely slow.

iGraph is my second go-to tool to analyze networks. While it is written in C, and it is relatively easy to use in R, it might need a little more digging to develop your code in Python as NetworkX. However, with larger networks, this extra effort definitely pays off?—?the computational speed of iGraph codes is superior to NetworkX.

graph-tool is your tool if you are looking for even more efficiency, as this library is implemented in C++. Additionally, it offers a wide range of network manipulation and statistical tools, from which, during my career, community detection was probably the most useful one.

backboning: in real-life networks, we often face the challenge of noisy data, and too densely connected networks with countless weak connections. To trim the networks and up those weak and mostly just noise connections, my favorite tool has been the backbone package, which does a really great job dropping the statistically insignificant connections while preserving the network nodes as much as possible.

Gephi is probably the most widely used network visualization software. This is a free, point-and-click tool that works well with tabular data and various graph data formats as well. Despite its simple design, networks created by Gephi (such as the one at the beginning of this article) can reach pretty far?—?some even made it to prestigious art exhibitions.


Five tutorials


Finally, at the most practical level, I would like to collect five tutorials on network science where you can quickly test and review all the skills you acquired and concepts you learned via the previous materials.

Navigating Networks with NetworkX: A Short Guide to Graphs in Python?—?in this piece, Diego Penilla brings his expertise to the table and introduces the basics of NetworkX. First, overviewing the basics?—?how to create a network from scratch and how to customize a network visualization in Python. Then, he also overviews a list of core network concepts, such as identifying network communities and finding the shortest paths within the graphs. Great starter!

How to create network visualisations with Gephi: A step by step tutorial by Izzy Stweart, as the name implies, walks you through the essential steps of creating an insightful network visualization with Gephi, well-illustrated with screenshots, this can be a nice intro piece to Gephi.

Building and Visualizing a Social Network through the Vikings’ Example by Milan Janosov follows a slightly different approach to overview the main functions and customization possibilities in Gephi?—?via the example of an awesome TV series, the Vikings.

Where Do EU Horizon H2020 Fundings Go? by Milan Janosov sheds some light on how to turn a large-scale tabular database of EU project funding into a network using a few basic Python tools and how to extend the network’s attributes to the geospatial domain.?

Mapping out the connections of Oscar Winners shows how we can combine web scraping and network analytics to map out probably the largest free online source of hyperlinked knowledge?—?Wikipedia. While this example focuses on mining the hidden relationships of Oscar winners?—?this article also provides a generic recipe on how to build knowledge graphs from public data.


Summary

In this piece, I briefly introduced five books to gain higher-level insights on network science, then started to zoom in with five widely used network analysis tools and libraries, and finally, listed five hands-on examples where you can directly review all the skills and knowledge learned via the previous materials.?

Attila Szilva

Data | Physics | Research

2 个月

Thanks for sharing this.

回复

We're so excited to have you as our speaker for the upcoming webinar. Looking forward to your valuable insights!

回复

Very very useful brief. Milan Janosov thanks for sharing:)

回复

要查看或添加评论,请登录

Milan Janosov的更多文章

  • Milan's Data Science Insights #011

    Milan's Data Science Insights #011

    Hi Everyone, After a few extra issues, I am returning to the regular style. The format it still shaping, but one thing…

    8 条评论
  • Bye 2024, Welcome 2025

    Bye 2024, Welcome 2025

    Dear All, This year has been incredible, with huge personal and professional milestones. Some downs and many ups…

    3 条评论
  • Book intro — Connecting the Dots

    Book intro — Connecting the Dots

    Dear All, I have been falling behind with my newsletter a bit, but new materials are coming bi-weekly again very soon…

    15 条评论
  • Milan's Data Science Insights #010

    Milan's Data Science Insights #010

    Here we are with edition #010 - welcome to the latest learning materials and must-read articles! 1. Tutorials Last…

    3 条评论
  • Milan's Data Science Insights #009

    Milan's Data Science Insights #009

    Hi Everyone, welcome back! You might have noticed that I skipped one issue - I was recharging for the back-to-school…

    4 条评论
  • Milan's Data Science Insights #008

    Milan's Data Science Insights #008

    Welcome to Issue #008! Let's kick it off with some timely data science topics again! Cover photo: https://www.nature.

    4 条评论
  • Milan's Data Science Insights #007

    Milan's Data Science Insights #007

    Welcome to Issue #007! Let's kick it off with some timely data science topics again! While this has been an incredibly…

  • Book intro — Geospatial Data Science Essentials

    Book intro — Geospatial Data Science Essentials

    101 Practical Python Tips and Tricks Dear Reader, I started working with data of various sorts during my years as a…

    7 条评论
  • Milan's Data Science Insights #006

    Milan's Data Science Insights #006

    Welcome to Issue #006! Let's kick it off with some timely data science topics. 1.

    5 条评论
  • Milan's Data Science Insights #005

    Milan's Data Science Insights #005

    Welcome to Issue #005! Let's kick it off with some timely data science topics. 1.

    2 条评论

社区洞察

其他会员也浏览了