Unsupervised representation learning¶
StellarGraph provides numerous algorithms for doing unsupervised node, edge and graph representation learning on graphs. This folder contains demos of all of them to explain how they work and how to use them as part of a TensorFlow Keras data science workflow.
A node representation learning task computes a representation or embedding vector for each node in a graph. These vectors capture latent/hidden information about the nodes and edges, and can be used for (semi)supervised downstream tasks like node classification and link prediction, or unsupervised ones like community detection or similarity searches. Representation learning is typically an unsupervised task, where the model is trained on data that does not have any groundtruth labels.
Node representations can also be computed from (semi)supervised models, using the output of a hidden layer as the embedding vector for nodes or edges. StellarGraph provides some demonstrations of node classification and link prediction, some of which include computing and visualising node or edge embeddings.
Similarly, a graph representation learning task computes a representation or embedding vector for a whole graph. These vectors capture latent/hidden information about the whole graph, and can be used for (semi)supervised downstream tasks like graph classification, or the same unsupervised ones as above.
Find algorithms and demos for a graph¶
This table lists all representation learning demos, including the algorithms trained, how they are trained, the types of graph used, and the tasks demonstrated.
demo 
algorithm(s) 
training method 
node features 
downstream tasks shown 

GCN, GAT, PPNP, APPNP, GraphSAGE, HinSAGE, RGCN, ClusterGCN 

yes 
visualisation, node classification 

GraphSAGE 

yes 
visualisation, node classification 

Attri2Vec 

yes 
visualisation 

Metapath2Vec 
natively unsupervised 
visualisation 

Node2Vec 
natively unsupervised 
visualisation 

Watch Your Step 
natively unsupervised 
visualisation, node classification 

GraphWave 
natively unsupervised 
visualisation, node classification 

GCN, Graph classification 
Pairs of graphs, groundtruth distance 
yes 
visualisation, graph classification 
See the root README or each algorithm’s documentation for the relevant citation(s). See the demo index for more tasks, and a summary of each algorithm.
Table of contents¶
 Node representation learning with attri2vec
 Node representation learning with Deep Graph Infomax
 Unsupervised graph classification/representation learning via distances
 Node representation learning with GraphSAGE and UnsupervisedSampler
 Node representations with GraphWave
 Node2Vec representation learning with Stellargraph components
 Node representation learning with Metapath2Vec
 Node representation learning with Node2Vec
 Node representation learning with Watch Your Step