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.pypython main.py --data Celegansto runSEALon dataCeleganspython main.py --epoch 200will assign the number of epochs to 200, default value is 100python main.py -r 0.00001will 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 |