Skip to content
Gaussian node embeddings. Implementation of "Deep Gaussian Embedding of Graphs: Unsupervised Inductive Learning via Ranking".
Python Jupyter Notebook
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data add a compressed version of the cora dataset May 7, 2018
g2g Fix early stopping bug when p_val=p_test=0 Feb 20, 2019
.gitignore Initial commit Apr 4, 2018
LICENSE Initial commit Apr 4, 2018
README.md Update README.md Sep 7, 2018
example.ipynb update example to include more variants Aug 6, 2018
setup.py move g2g to new submodule Apr 4, 2018

README.md

Graph2Gauss

Tensorflow implementation of the method proposed in the paper: "Deep Gaussian Embedding of Graphs: Unsupervised Inductive Learning via Ranking", Aleksandar Bojchevski and Stephan Günnemann, ICLR 2018.

Installation

python setup.py install

Requirements

  • tensorflow (>=1.4)
  • sklearn (only for evaluation)

Demo

See the notebook example.ipynb for a simple demo.

Graphs without attributes

If you graph has no attribute information you can run the one-hot version of Graph2Gauss (G2G_oh) by setting X=I, where I is the identity matrix. Additionally, setting X=A+I, where A is the adjacency matrix often yields even better perfomance.

Misc

For an animation of Graph2Gauss learning to embed nodes as 2D Gaussians see: https://twitter.com/abojchevski/status/958278834025091072?s=19

Cite

Please cite our paper if you use this code in your own work:

@inproceedings{
bojchevski2018deep,
title={Deep Gaussian Embedding of Graphs:  Unsupervised Inductive Learning via Ranking},
author={Aleksandar Bojchevski and Stephan Günnemann},
booktitle={International Conference on Learning Representations},
year={2018},
url={https://openreview.net/forum?id=r1ZdKJ-0W},
}
You can’t perform that action at this time.