GithubHelp home page GithubHelp logo

qss2012 / ppnp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gasteigerjo/ppnp

0.0 1.0 0.0 9.15 MB

PPNP & APPNP models from "Predict then Propagate: Graph Neural Networks meet Personalized PageRank".

Home Page: https://www.kdd.in.tum.de/ppnp

License: MIT License

Python 41.13% Jupyter Notebook 58.87%

ppnp's Introduction

PPNP and APPNP

TensorFlow and PyTorch implementations of the model proposed in the paper:

Predict then Propagate: Graph Neural Networks meet Personalized PageRank
by Johannes Klicpera, Aleksandar Bojchevski, Stephan Günnemann
Published at ICLR 2019.

Run the code

The easiest way to get started is by looking at the notebook simple_example_tensorflow.ipynb or simple_example_pytorch.ipynb. The notebook reproduce_results.ipynb shows how to reproduce the results from the paper.

Requirements

The repository uses these packages:

numpy
scipy
tensorflow
pytorch

You can install all requirements via pip install -r requirements.txt. However, in practice you will only need either TensorFlow or PyTorch, depending on which implementation you use. If you use the networkx_to_sparsegraph method for importing other datasets you will additionally need NetworkX.

Installation

To install the package, run python setup.py install.

Datasets

In the data folder you can find several datasets. If you want to use other (external) datasets, you can e.g. use the networkx_to_sparsegraph method in ppnp.data.io for converting NetworkX graphs to our SparseGraph format.

The Cora-ML graph was extracted by Aleksandar Bojchevski, and Stephan Günnemann. "Deep gaussian embedding of attributed graphs: Unsupervised inductive learning via ranking." ICLR 2018,
while the raw data was originally published by Andrew Kachites McCallum, Kamal Nigam, Jason Rennie, and Kristie Seymore. "Automating the construction of internet portals with machine learning." Information Retrieval, 3(2):127–163, 2000.

The Citeseer graph was originally published by Prithviraj Sen, Galileo Namata, Mustafa Bilgic, Lise Getoor, Brian Gallagher, and Tina Eliassi-Rad. "Collective Classification in Network Data." AI Magazine, 29(3):93–106, 2008.

The PubMed graph was originally published by Galileo Namata, Ben London, Lise Getoor, and Bert Huang. "Query-driven Active Surveying for Collective Classification". International Workshop on Mining and Learning with Graphs (MLG) 2012.

The Microsoft Academic graph was originally published by Oleksandr Shchur, Maximilian Mumme, Aleksandar Bojchevski, Stephan Günnemann. "Pitfalls of Graph Neural Network Evaluation". Relational Representation Learning Workshop (R2L), NeurIPS 2018.

Contact

Please contact [email protected] in case you have any questions.

Cite

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

@inproceedings{klicpera_predict_2019,
	title = {Predict then Propagate: Graph Neural Networks meet Personalized PageRank},
	author = {Klicpera, Johannes and Bojchevski, Aleksandar and G{\"u}nnemann, Stephan},
	booktitle={International Conference on Learning Representations (ICLR)},
	year = {2019}
}

ppnp's People

Watchers

Shengsheng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.