Awesome
Code for Graph-Revised Convolutional Network (ECML-PKDD 2020)
Requirements
python >= 3.6.0
pytorch = 1.5.0
tqdm
itermplot
The code is based on pyg. Please see instructions for its installation.
dataprocess.py is used for data spliting, edge sampling, and data loader.
Reproduce Results
Run our model GRCN under fixed train/val/test split
./run_fixed.sh 1(GPU No.) GRCN Cora(dataset: Cora, CiteSeer, PubMed) --sparse
To save the log result, add --save
in the command.
You can change the parameters of run_fixed.sh and config/.
Run our model GRCN under random train/val/test split
./run_random.sh 1(GPU No.) GRCN Cora(dataset: Cora, CiteSeer, PubMed, CoraFull, Computers, CS) --sparse
When running on PubMed dataset, add --keep_train_num
.
To save the log result, add --save
in the command.
You can change the parameters of run_random.sh and config/.
Results
Our model achieves the following performance on :
semi-supervised node classification (fixed split)
Model | Cora | CiteSeer | PubMed |
---|---|---|---|
GCN | 81.4±0.5 | 70.9±0.5 | 79.0±0.3 |
GAT | 83.2±0.7 | 72.6±0.6 | 78.8±0.3 |
LDS | 84.0±0.4 | 74.8±0.5 | N/A |
GLCN | 81.8±0.6 | 70.8±0.5 | 78.8±0.4 |
Fast-GRCN | 83.6±0.4 | 72.9±0.6 | 79.0±0.2 |
GRCN | 84.2±0.4 | 73.6±0.5 | 79.0±0.2 |
semi-supervised node classification (random splits)
Model | Cora | CiteSeer | PubMed |
---|---|---|---|
GCN | 81.2±1.9 | 69.8±1.9 | 77.7±2.9 |
GAT | 81.7±1.9 | 68.8±1.8 | 77.7±3.2 |
LDS | 81.6±1.0 | 71.0±0.9 | N/A |
GLCN | 81.4±1.9 | 69.8±1.8 | 77.2±3.2 |
Fast-GRCN | 83.8±1.6 | 72.3±1.4 | 77.6±3.2 |
GRCN | 83.7±1.7 | 72.6±1.3 | 77.9±0.2 |