Full Stack Graph Machine Learning
A Talk by Russell Jurney (Applied AI researcher, startup CTO, Graphlet AI)
About this Talk
In this course, we will take the skills you've developed in working with data tables and DataFrames and extend them to cover graphs, networks, knowledge graphs, property graphs and graph databases.
We will work with different types of graphs from multiple domains. This includes natural networks like social networks, collaboration networks or communications networks as well as structural networks like the plan of a Python program or the 3D mesh of a model of a 3-dimensional scene.
Starting from tabular DataFrames and traditional machine learning - we build a theoretical understanding of modern data science and machine learning methods for graph-structured datasets and the practical skills that enable students to implement them.
Students who graduate from the course can add graph analytics and graph machine learning to their daily workflows for small and large datasets using the most popular tools.
We will introduce common Python tools for graph analytics and graph machine learning, as well as the popular graph databases Neo4j and KuzuDB. We will focus on property graphs and will compare them with RDF / triple stores using SPARQL. We will cover the core methods from social network analysis and network science that will guide your informed-intuition in doing graph machine learning.
We will build a knowledge graph using natural language processing (NLP), combine its duplicate nodes using deep networks for entity resolution and mine the resulting graph for patterns. Finally, we will build a full-stack graph ML application that shows network visualizations of explainable GNNs for chemical engineering.
Key Topics
Students will go from a working knowledge of data science and machine learning with data tables to a working knowledge of data science and machine learning for graphs to build real-world applications. It is not enough to teach students graph neural networks (GNNs) - they need to work their way up from graph theory to GNNs using common Python tools in design patterns based on real-world use cases.
Via a streamlined Docker experience, students will learn to:
- Describe social networks using social network analysis (SNA)
- Describe and analyze any network using network science
- Find significant patterns in real-world networks
- Build predictive systems using traditional graph ML
- Replace manual feature engineering with graph embeddings
- Solve machine learning problems using graph neural networks
- Visualize networks during interactive analysis
Target Audience
This course is for data scientists and machine learning engineers who want to extend their work with data tables and DataFrames to datasets with a relational or graph structure.
- Data Scientists
- Data Engineers
- Machine Learning Engineers
- Software Engineers
- Data Analysts that know Python
- Managers of the above - possibly, might struggle at the code level but would learn a lot
Goals
Students will graduate from the course and be able to work with graphs as they now work with tables and DataFrames. They will understand the fundamentals of network science and graph machine learning and how they relate to modern graph learning methods.
Session Outline
- Graph theory - what is a graph? Examples of networks? Heterogeneous networks can model anything!
- Social network analysis (SNA) - social science
- Network science - techniques that span fields and applications
- Graph machine learning tasks - node, link, sub-graph, graph
- Graph features and kernels - feature engineering for networks
- Graph Neural Networks (GNNs) - neural networks shaped like graphs that learn directly from the properties and structure of the data
- Network visualization - data viz for small and large scale networks
Format
This is a hands-on class, where after a lecture in each of 2, 2-hour sessions, we work through one or more Jupyter notebooks. The notebooks are available here: https://github.com/Graphlet-AI/graphml-class
- Network Science Notebook - the fundamentals of network science with networkx and littleballoffur. This is a really neat one to cover.
- Graph Machine Learning Notebook - from traditional ML to embeddings to GNNs. I hope to give students the intuition behind modern methods by doing it manually first.
Skill Level
Intermediate