Geometric deep learning (GDL) extends deep neural models to data whose meaning depends on geometric or relational structure rather than regular Euclidean layout. It supports graphs, point clouds, molecules, and manifolds, making relationships between entities part of the learning problem. section 11.10 section 11.3
GDL is useful when structure carries information that ordinary distance does not capture:
- Treats nodes and edges as the important structure in graphs, where neighborhoods and connections may vary between nodes. section 11.3
- Supports graph machine-learning tasks such as node classification, link prediction, and community detection. section 11.3
- Uses graph embedding or representation learning to convert discrete, high-dimensional graph data into lower-dimensional continuous representations. section 11.10 section 11.3
Turning player records into a graph
A soccer dataset can represent players, clubs, and nationalities as nodes. Add a plays_for edge from each player to a club and a belongs_to edge from each player to a nationality. The resulting graph exposes relationships that a flat table does not represent directly, and it can be inspected with a network layout. section 11.3
Listing 11.1 Converting tabular data to a graph
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
data={'Player':['L. Messi','R. Lewandowski','C. Ronaldo','Neymar Jr','K.
Mbappé','E.Haaland','H. Kane','Luka Modrić','L. Goretzka','M. Salah'],
'Age':[36,34,38,22,24,35,29,37,28,31],
'Nationality':['Argentina','Poland','Portugal','Brazil','France','Norway',
'England','Croatia','Germany','Egypt'],
'Club':['Inter Miami','Barcelona','Al-Nassr','Al-Hilal ','PSG','Manchester
City','Tottenham Hotspur','Real Madrid','Bayern Munich','Liverpool'],
'League':['Major League Soccer ','Spain Primera Division','Saudi Arabia
League','Saudi Arabia League','French Ligue 1','English Premier
League','English Premier League','Spain Primera Division','German 1.
Bundesliga','English Premier League']}
df=pd.DataFrame.from_dict(data)
Use the listing to create a graph from tabular player data with pandas, NetworkX, and Matplotlib before applying graph-learning methods. section 11.3
