SEAL, a link prediction framework based on GNN.
This repository is a reference implementation of SEAL proposed in the paper:
M. Zhang and Y. Chen, Link Prediction Based on Graph Neural Networks, Advances in Neural Information Processing Systems (NIPS-18). Preprint
SEAL, a novel link prediction framework, to simultaneously learn from local enclosing subgraphs, embedding and attributes. Experimentally showed the SEAL achieved unprecedentedly strong performance by comparing to various heuristics, latent feature methods, and network embedding algorithms.
- python 3.5.5
- networkx 2.0
- tensorflow 1.7.0
- numpy 1.14.2
Type the following command to run seal
on data 'USAir'.
python main.py
python main.py --data Celegans
to runSEAL
on dataCelegans
python main.py --epoch 200
will assign the number of epochs to 200, default value is 100python main.py -r 0.00001
will set the learning rate which determine the speed of update parameters to 0.00001.
you can check out the other options available to use python main.py --help
Data | USAir | Celegans | Power | Yeast | PB | Router |
---|---|---|---|---|---|---|
#Node | 332 | 297 | 4941 | 2375 | 1222 | 5022 |
#Edges | 2126 | 2148 | 6594 | 11693 | 16714 | 6258 |
Average Degree | 12.8072 | 14.4646 | 2.6691 | 9.8467 | 27.3553 | 2.4922 |
SEAL(auc) | 0.9538 | 0.8979 | 0.8889 | 0.9714 | 0.9444 | 0.9412 |
The repositroy and all dependencies neeed to be udpated.