Skip to content

Supplementary code for the AISTATS 2021 paper "Matern Gaussian Processes on Graphs".

License

Notifications You must be signed in to change notification settings

UCL-SML/Graph-Gaussian-Processes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matern Gaussian Processes on Graphs

This repo provides an extension for gpflow with Matérn kernels, inducing variables and trainable models implemented for graphs. Easily integrated with the rest of gpflow functionality, it allows one to run GP regression and classification problems on graphs. See examples notebooks and docstrings for how-to guides/documentation.

Installation

Minimal installation is performed by typing

pip install -e .

in your terminal inside the cloned repo directory.

To run example notebooks, install the dependencies with

pip install -e .[examples]

On Windows, we recommend using Windows Subsystem for Linux (WSL).

Library usage

A rough outline of how to use the library is as follows:

>>> from graph_matern.kernels.graph_matern_kernel import GraphMaternKernel
>>> laplacian = nx.laplacian_matrix(G)  # G is a networkx Graph
>>> eigenvalues, eigenvectors = tf.linalg.eigh(laplacian)  # only should be done once-per-graph
>>> kernel = GraphMaternKernel((eigenvectors, eigenvalues))
>>> model = gpflow.models.GPR(data=data, kernel=kernel)

Note that one is not constrained to use GPR as a model, check out our example notebooks for a more detailed how-to.

Examples

Notebook with topic classification for citation networks on the CORA dataset [1] is

jupyter notebook examples/classification.ipynb

Notebook with primitive regression on PEMS data [2] is

jupyter notebook examples/regression.ipynb

The data in examples/data is third-party, and only provided in the repo to facilitate running the examples.

Citation

@inproceedings{borovitskiy2021matern,
      title={Matern Gaussian Processes on Graphs}, 
      author={Viacheslav Borovitskiy and Iskander Azangulov and Alexander Terenin and Peter Mostowsky and Marc Peter Deisenroth and Nicolas Durrande},
      booktitle={International Conference on Artificial Intelligence and Statistics},
      year={2021},
      organization={PMLR}
}

About

Supplementary code for the AISTATS 2021 paper "Matern Gaussian Processes on Graphs".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%