Skip to content

mikeissah/Graph-Machine-Learning

 
 

Repository files navigation

Graph Machine Learning, Second Edition

This is the code repository for Graph Machine Learning, Second Edition, published by Packt.

Learn about the latest advancements in graph data to build robust machine learning models

Aldo Marzullo, Enrico Deusebio, Claudio Stamile

      Free PDF       Amazon      

About the book

Graph Machine Learning, Second Edition

Graph Machine Learning, Second Edition builds on its predecessor’s success, delivering the latest tools and techniques for this rapidly evolving field. From basic graph theory to advanced ML models, you’ll learn how to represent data as graphs to uncover hidden patterns and relationships, with practical implementation emphasized through refreshed code examples. This thoroughly updated edition replaces outdated examples with modern alternatives such as PyTorch and DGL, available on GitHub to support enhanced learning. The book also introduces new chapters on large language models and temporal graph learning, along with deeper insights into modern graph ML frameworks. Rather than serving as a step-by-step tutorial, it focuses on equipping you with fundamental problem-solving approaches that remain valuable even as specific technologies evolve. You will have a clear framework for assessing and selecting the right tools. By the end of this book, you’ll gain both a solid understanding of graph machine learning theory and the skills to apply it to real-world challenges.

Key Learnings

  • Implement graph ML algorithms with examples in StellarGraph, PyTorch Geometric, and DGL
  • Apply graph analysis to dynamic datasets using temporal graph ML
  • Enhance NLP and text analytics with graph-based techniques
  • Solve complex real-world problems with graph machine learning
  • Build and scale graph-powered ML applications effectively
  • Deploy and scale your application seamlessly

Chapters

Chapters Colab Kaggle Gradient Studio Lab
Chapter 1: Getting Started with Graphs
  • 01_Introduction_Networkx.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_Graph_metrics.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 03_Graphs_Benchmarks.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 2: Graph Machine Learning
  • 01_embedding_examples.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 3: Neural Networks and Graphs
  • 01_ImageClassification_TensorFlow.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_ImageClassification_Pytorch.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 03_Autoencoders.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 04_GraphAutoEncoder_PyGeometric.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 05_GraphAutoEncoder_StellarGraph.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 4: Unsupervised Graph Learning
  • 01_Shallow_Embeddings.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_Autoencoders.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 03_Structural_deep_neural_embeddings.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 04_Graph_Neural_Network.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 5: Supervised Graph Learning
  • 01_Feature_based_methods.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_Shallow_embeddings.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 03_Graph_regularization_graph_neural_training.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 04_Graph_Neural_Networks.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 05_Planetoid.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 6: Solving Common Graph-Based Machine Learning Problems
  • 01_link_prediction.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_community_detection_algorithms.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 03_graph_similarity.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 7: Social Network Graphs
  • 01_Social_network_analysis.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_Social_network_analysis.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 8: Text Analytics and Natural Language Processing Using Graphs
  • 01_nlp_graph_creation.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_supervised_classification-embeddings.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 03_supervised_classification_graphSAGE-TFIDF.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 04_supervised_classification_pyg.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 9: Graph Analysis for Credit Card Transactions
  • 01_Credit_card_edges_classification.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 10: Building a Data-Driven Graph-Powered Application
  • 00_Data_Conversion.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 01_Neo4j_bindings.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
  • 02_JanusGraph_Gremlin.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 11: Temporal Graph Machine Learning
  • Temporal_GraphML.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 12: GraphML and LLMs
  • LLM_and_Graphs.ipynb
Open In Colab
Open In Kaggle
Open In Gradient
Open In Studio Lab
Chapter 13: Novel Trends on Graphs

Requirements for this book

We recommend that you use Docker to have a reproducible environment and stable dependency sets. The provided Docker images – one for each chapter – ship with a Jupyter installation and a Python kernel with the dependencies pre-installed, which you can use to run all the examples. For some chapters, Neo4j, JanusGraph, and Gephi are also needed.

Software/Hardware OS Requirements
Python Windows, macOS, and Linux (any)
Neo4j Windows, macOS, and Linux (any)
Gephi Windows, macOS, and Linux (any)
Docker Windows, macOS, and Linux (any)

A beginner-level understanding of graph databases and graph data is required. Intermediate-level working knowledge of Python programming and machine learning is also expected to make the most of this book.

The authors acknowledge the use of cutting-edge AI, such as ChatGPT, with the sole aim of enhancing the language and clarity within the book, thereby ensuring a smooth reading experience for readers. It’s important to note that the content itself has been crafted by the authors and edited by a professional publishing team.

Get to know the Authors

Aldo Marzullo received an M.Sc. degree in computer science from the University of Calabria (Cosenza, Italy) in September 2016. During his studies, he developed a solid background in several areas, including algorithm design, graph theory, and machine learning. In January 2020, he received his joint Ph.D. from the University of Calabria and Université Claude Bernard Lyon 1 (Lyon, France), with a thesis titled Deep Learning and Graph Theory for Brain Connectivity Analysis in Multiple Sclerosis. He is currently a postdoctoral researcher and collaborates with several international institutions.

Enrico Deusebio is currently working as engineering manager at Canonical, the publisher of Ubuntu, to promote open source technologies in the data and AI space and to make them more accessible to everyone. He has been working with data and distributed computing for over 15 years, both in an academic and industrial context, helping organizations implement data-driven strategies and build AI-powered solutions. He has collaborated and worked with top-tier universities, such as the University of Cambridge, University of Turin, and the Royal Institute of Technology (KTH) in Stockholm, where he obtained a Ph.D. in 2014. He holds a B.Sc. and an M.Sc. degree in aerospace engineering from Politecnico di Torino.

Claudio Stamile received an M.Sc. degree in computer science from the University of Calabria (Cosenza, Italy) in September 2013 and, in September 2017, he received his joint Ph.D. from KU Leuven (Leuven, Belgium) and Université Claude Bernard Lyon 1 (Lyon, France). During his career, he developed a solid background in AI, graph theory and machine learning with a focus on the biomedical field.

Other Related Books

About

Graph Machine Learning, published by Packt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.7%
  • Other 0.3%