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
bash
commands 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
bash
commands 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}
}