This is the official implementation of the following paper:
Rethinking Fair Graph Neural Networks from Re-balancing (SIGKDD'2024)
- python>=3.7
- torch==2.0.1
- torch-geometric==2.3.1
- torch-scatter==2.1.1
- numpy==1.24.4
- scikit-learn==1.3.0
We conduct experiments on three widely used real-world datasets, namely German Credit, Bail, and Credit Defaulter. The detailed information of the datasets is as follows. Please unzip datasets in ./dataset before running the model.
| Dataset | German | Bail | Credit |
|---|---|---|---|
| # Nodes | 1,000 | 18,876 | 30,000 |
| # Edges | 22,242 | 321,308 | 152,377 |
| # Attributes | 27 | 18 | 13 |
| Sens. | Gender | Race | Age |
| Label | Credit status | Bail decision | Future default |
The run.sh includes details to reproduce experimental results in the paper:
bash run.sh
Our code is based on the FairVGNN (Improving fairness in graph neural networks via mitigating sensitive attribute leakage) and GraphENS (Graphens: Neighbor-aware ego network synthesis for class-imbalanced node classification).

