This repository contains the accompanying code for the NeurIPS 2019 paper
Wasserstein Weisfeiler-Lehman Graph Kernels available
here.
The repository contains both the package that implements the graph kernels (in src
)
and scripts to reproduce some of the results of the paper (in experiments
).
WWL relies on the following dependencies:
numpy
scikit-learn
POT
cython
The easiest way is to install WWL from the Python Package Index (PyPI) via
$ pip install Cython numpy
$ pip install wwl
The WWL package contains functions to generate a n x n
kernel matrix between
a set of n
graphs.
The API also allows the user to directly call the different steps described in the paper, namely:
- generate the embeddings for the nodes of both discretely labelled and continuously attributed graphs,
- compute the pairwise distance between a set of graphs
Please refer to the src README for detailed documentation.
You can find some experiments in the experiments folder. These will allow you to reproduce results from the paper on 2 datasets.
WWL is developed and maintained by members of the Machine Learning and Computational Biology Lab:
Please use the following BibTeX citation when using our method or comparing against it:
@InCollection{Togninalli19,
author = {Togninalli, Matteo and Ghisu, Elisabetta and Llinares-L{\'o}pez, Felipe and Rieck, Bastian and Borgwardt, Karsten},
title = {Wasserstein Weisfeiler--Lehman Graph Kernels},
booktitle = {Advances in Neural Information Processing Systems~32~(NeurIPS)},
year = {2019},
editor = {Wallach, H. and Larochelle, H. and Beygelzimer, A. and d'Alch\'{e}{-}Buc, F. and Fox, E. and Garnett, R.},
publisher = {Curran Associates, Inc.},
pages = {6436--6446},
}