This is a Python implementation of RobustECD, as described in the following:
RobustECD: Enhancement of Network Structure for Robust Community Detection.
The code is tested on Ubuntu 16.04 and Windows 10 with the following components:
- Python 3.7
- NetworkX 2.4
- SciPy 1.4.1
- NumPy 1.18.1
- python-igraph 0.7.1.post6
Real-world benchmark networks:
Karate,Polbooks,Football,Polblogs
Large-scale real-world networks from Stanford Large Network Dataset Collection:
Amazon,DBLP
Adversarial networks generated via adversarial attack on benchmark networks:
Karate_noise,Polbooks_noise,Football_noise,Polblogs_noise
-
RobustECD-SE: execute the following
bashcommands in the same directory where the code resides:$ python exp_revsel.py --bmname karate --cdm LOU --randomSample 1 --sampleRatio 1.6
-
RobustECD-GA: execute the following
bashcommands in the same directory where the code resides:$ python exp_rega.py --bmname karate --cdm INF --iter 500 -aR 0.16 -dR 0.16
Common Parameters:
bmname: name of dataset- benchmark:
karate,polbooks,football,polblogs - large-scale subgraph:
amazon-sub,dblp-sub - adversarial networks:
karate_noise,polbooks_noise,football_noise,polblogs_noise
- benchmark:
cdm: community detection method- Infomap:
INF - Fast Greedy:
FG - WalkTrap:
WT - Louvain:
LOU - Label Propagation:
LP - Node2vec+Kmeans:
n2v_km
- Infomap:
If you find this work useful, please cite the following:
@ARTICLE{9454336,
author={Zhou, Jiajun and Chen, Zhi and Du, Min and Chen, Lihong and Yu, Shanqing and Chen, G. and Xuan, Qi},
journal={IEEE Transactions on Knowledge and Data Engineering},
title={RobustECD: Enhancement of Network Structure for Robust Community Detection},
year={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TKDE.2021.3088844}
}