Implementation of Multi-Stage Self-Supervised Learning for Graph Convolutional Networks on Graphs with Few Labels.
A PyTorch implementation of "Multi-Stage Self-Supervised Learning for Graph Convolutional Networks on Graphs with Few Labels" paper, accepted in AAAI 2020.
To implement the details, I refer official codes of "Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning".
- Python version : 3.9.7
- Pytorch version : 1.10.1
- torch-geometric version : 2.0.3
--dataset:
Name of the dataset. Supported names are: cora, citeseer, pubmed, computers, photo.
usage example :--dataset computers
--label_rate:
Percentage of labeled nodes.
usage example :--label_rate 0.15
--stage:
Number of stage to pseudo-label.
usage example :--stage 3
--clustering:
Whether or not to check the pseudo-label using k-means clustering.
False : Self-Training / True : M3S
usage example :--clustering
--num_k:
The number of clusters for k-means clustering
usage example :--num_k 3
python main.py --dataset computers --label_rate 0.15 --clustering
Methods | Cora | Citesser | Pubmed | Am. Computers | Am. Photos | ||||||||||
Label Rate | 0.5% | 1% | 2% | 0.5% | 1% | 2% | 0.03% | 0.06% | 0.1% | 0.15% | 0.2% | 0.25% | 0.15% | 0.2% | 0.25% |
Self-training | 57.28 | 70.73 | 75.40 | 46.26 | 60.36 | 66.47 | 57.34 | 65.13 | 72.86 | 61.32 | 65.95 | 68.66 | 61.92 | 65.24 | 71.34 |
M3S | 64.46 | 72.93 | 76.41 | 55.07 | 65.74 | 67.64 | 61.53 | 64.60 | 73.18 | 61.51 | 66.30 | 68.10 | 63.93 | 67.62 | 73.39 |