/netsci-labs

(In progress) Network science laboratories. Covers graph theory, random graphs and ML on graphs

Primary LanguageJupyter Notebook

Network science 2023

Note

  • nbviewer might have prettier math and image rendering than github
  • Photos are taken from the resources (most of them from Stanford's cs224w and Graph representation learning – William Hamilton 2020) or the extra resources linked in the notebooks.

Prerequisites

  1. Programming: OOP, being able to read and change functions to do something else.
  2. Math: Probabilities, statistics and linear algebra
  3. Graph theory – data structures

Split

Part 1. Labs 1-5 -- Traditional generative methods, community detection.
Part 2 -- ML on graphs -- Embeddings, Classification, GNNs

Environment

Either make an anaconda env or a venv and install the requirements (Please do this before the lab)

Colab links

Lab Link
1 Intro Linalg recap Open In Colab
networkx tutorial short Open In Colab
probs recap Open In Colab
python tutorial Open In Colab
tutorial Open In Colab
2 Graph measurements Graph measurements Open In Colab
3 Random_network_models Random graphs Open In Colab
4 Small worlds Small worlds Open In Colab
5 Communities Communities Open In Colab
6 DL intro PyG intro Open In Colab
Torch intro Open In Colab
7 Embeddings Node embeddings Open In Colab
8 Node classification Node classification Open In Colab
9 Graph neural networks GNN intro Open In Colab
10 Graph neural networks GNN2 Training Open In Colab
GNN2 Training deepsnap Open In Colab
Graph prediction Open In Colab
Link prediction Open In Colab
11 Knowledge graphs Knowledge graphs Open In Colab
TransE Open In Colab

Datasets

Stanford's Snap

Network Repository

Open Graph Benchmark, ogb paper

TUDataset

PyG datasets

Relational dataset repository

moleculenet

House Of graphs

Books, courses and more resources

Stanford course cs224w -- Big recommendation

Network science – Albert-Laszlo Barabasi

The atlas of the aspiring network scientist

A course in network science

Graph representation learning – William Hamilton 2020

GNN Book

A new kind of science – Stephen Wolfram

Networks, Crowds, and Markets: Reasoning About a Highly Connected World -- By David Easley and Jon Kleinberg)

GNNPapers

Pytorch Geometric Tutorial

Articles