This repository provides Python (Tensorflow) code to reproduce experiments from the WSDM '22 paper Efficient Graph Convolution for Joint Node Representation Learning and Clustering.
python setup.py install
For run.py
Parameter | Type | Default | Description |
---|---|---|---|
dataset |
string | cora |
Name of the graph dataset (cora , citeseer , pubmed or wiki ). |
power |
integer | 5 |
First power to test. |
runs |
integer | 20 |
Number of runs per power. |
n_clusters |
integer | 0 |
Number of clusters (0 for ground truth). |
max_iter |
integer | 30 |
Number of iterations of the algorithm. |
tol |
float | 10e-7 |
Tolerance threshold of convergence. |
For tune_power.py
parameters are the same except for power
which is replaced by
Parameter | Type | Default | Description |
---|---|---|---|
min_power |
integer | 1 |
Smallest propagation order to test. |
max_power |
integer | 150 |
Largest propagation order to test. |
Dataset | Propagation order |
---|---|
citeseer |
5 |
cora |
12 |
pubmed |
150 |
wiki |
4 |
To adaptively tune the power on Cora use
python gcc/tune_power.py --dataset=cora
To run the model on Cora for power p=12
and have the average execution time
python gcc/run.py --dataset=cora --power 12
Please cite the following paper if you used GCC in your research
@inproceedings{fettal2022efficient,
author = {Fettal, Chakib and Labiod, Lazhar and Nadif, Mohamed},
title = {Efficient Graph Convolution for Joint Node Representation Learning and Clustering},
year = {2022},
publisher = {Association for Computing Machinery},
doi = {10.1145/3488560.3498533},
booktitle = {Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining},
pages = {289–297},
}