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.
python setup.py install
- tensorflow (>=1.4)
- sklearn (only for evaluation)
See the notebook example.ipynb for a simple demo.
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.
For an animation of Graph2Gauss learning to embed nodes as 2D Gaussians see: https://twitter.com/abojchevski/status/958278834025091072?s=19
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},
}