Giter Club home page Giter Club logo

pi-gnn's Introduction

Noise-robust Graph Learning by Estimating and Leveraging Pairwise Interactions, TMLR, 06/2023.

1 Package Dependency

We provide a list of reference versions for all packages in the requirements.txt, pip can be used to install these packages:

pip3 install -r requirements.txt

2 Run the code

We provide some scripts in the ./scripts folder to run our code. For example, you can run the PI-GNN model by the command bash ./scripts/PI-GNN.sh. Below, we will explain the meanings of different commands in these scripts in detail.

2.1 Variables

First, we need to define some common variables:

dataset=cora      #Datasets for evaluation: cora, cite, pub, wiki, ogbn-arxiv
type=gcn          #Backbone: gcn, gat, sage
cor_type=uniform  #The type of label noise: uniform, flip
cor_prob=0.2      #The ratio of label noise: [0.0, 1]
epochs=400        #Training epochs

More variables will be defined in specific scripts.

2.2 Classical graph learning models

For classical graph learning models (e.g., GCN, GAT, SAGE), run:

python3 ./model/GCN.py --dataset $dataset --type $type --corruption_type $cor_type --corruption_prob $cor_prob --epochs $epochs

For large-scale dataset, such as ogbn-arxiv, run:

python3 ./model_bigdata/GCN.py --dataset $dataset --type $type --corruption_type $cor_type --corruption_prob $cor_prob --epochs $epochs

2.3 PI-GNN w/o pc (predictive confidence)

For PI-GNN without predictive confidence, i.e., PI-GNN trained with the node connectivity, run:

python3 ./model/PI-GCNwopc.py --dataset $dataset --type $type --corruption_type $cor_type --corruption_prob $cor_prob --epochs $epochs

For large-scale dataset, such as ogbn-arxiv, run:

python3 ./model_bigdata/PI-GCNwopc.py --dataset $dataset --type $type --corruption_type $cor_type --corruption_prob $cor_prob --epochs $epochs

2.4 PI-GNN

For PI-GNN, run:

python3 ./model/PI-GCN.py --dataset $dataset --type $type --corruption_type $cor_type --corruption_prob $cor_prob --epochs $epochs

For large-scale dataset, such as ogbn-arxiv, run:

python3 ./model_bigdata/PI-GCN.py --dataset $dataset --type $type --corruption_type $cor_type --corruption_prob $cor_prob --epochs $epochs

3 Dataset

When you execute the above code, the PyTorch Geometric package will automatically download the corresponding raw data in the ./data/$dataset/raw/ folder, and save the processed data in the ./data/$dataset/processed/ folder. We also provide the raw data in data/ folder in case of data version inconsistency or failure to download due to network problems.

Citation

If you found any part of this code is useful in your research, please consider citing our paper:

@article{du2023noise,
    title={Noise-robust Graph Learning by Estimating and Leveraging Pairwise Interactions},
    author={Du, Xuefeng and Bian, Tian and Rong, Yu and Han, Bo and Liu, Tongliang and Xu, Tingyang and Huang, Wenbing and Li, Yixuan and Huang, Junzhou},
    journal={Transactions on Machine Learning Research},
    year={2023}
}

pi-gnn's People

Contributors

tianbian95 avatar

Stargazers

 avatar  avatar

Watchers

 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.