Files
2026-07-13 13:35:51 +08:00

53 lines
1.4 KiB
Markdown

# DGL Implementations of P-GNN
This DGL example implements the GNN model proposed in the paper [Position-aware Graph Neural Networks](http://proceedings.mlr.press/v97/you19b/you19b.pdf). For the original implementation, see [here](https://github.com/JiaxuanYou/P-GNN).
Contributor: [RecLusIve-F](https://github.com/RecLusIve-F)
## Requirements
The codebase is implemented in Python 3.8. For version requirement of packages, see below.
```
dgl 0.7.2
numpy 1.21.2
torch 1.10.1
networkx 2.6.3
scikit-learn 1.0.2
```
## Instructions for experiments
### Link prediction
```bash
# Communities-T
python main.py --task link
# Communities
python main.py --task link --inductive
```
### Link pair prediction
```bash
# Communities
python main.py --task link_pair --inductive
```
## Performance
### Link prediction (Grid-T and Communities-T refer to the transductive learning setting of Grid and Communities)
| Dataset | Communities-T | Communities |
| :------------------------------: | :-----------: | :-----------: |
| ROC AUC ( P-GNN-E-2L in Table 1) | 0.988 ± 0.003 | 0.985 ± 0.008 |
| ROC AUC (DGL: P-GNN-E-2L) | 0.984 ± 0.010 | 0.991 ± 0.004 |
### Link pair prediction
| Dataset | Communities |
| :------------------------------: | :---------: |
| ROC AUC ( P-GNN-E-2L in Table 1) | 1.0 ± 0.001 |
| ROC AUC (DGL: P-GNN-E-2L) | 1.0 ± 0.000 |