HCD is the Hierarchical Community Discovery method which can be implemented in large-scale IP bearer network to discover communities. This method firstly predicts the node role of the whole network to get the hierarchy and then detects the hierarchical community through semi-local expansion. The initial communities are overlapped, but you can optionally adjust the overlapped parts according to the geographical locations. The ultimate community possess the following characteristics:
- densely connecting in topology;
- having hierarchical structure inside;
- preserving the integrity of the tree/ring structures.
The details of this method can be found in paper.
@article{liu2021hierarchical,
title={Hierarchical community discovery for multi-stage IP bearer network upgradation},
author={Liu, Yuan and Gu, Rentao and Yang, Zeyuan and Ji, Yuefeng},
journal={Journal of Network and Computer Applications},
pages={103151},
year={2021},
publisher={Elsevier}
}
The example runs in python3.7:
- scikit-learn: 0.23.1
- numpy: 1.18.5
- networkx: 2.5
- pandas: 0.24.2
In the folder /datasets, all the datasets are partial IP bearer networks of China offered by local operator.
- Net1(
418 nodes) and Net2(627 nodes) are two metropolitan area network segments; - Net3(
247 nodes) is a backbone network segment.
!!!Note that all datasets are set as undirected networks.
The algorithm is divided into three independent parts. And you can run each part in ../main.py:
/networkCharacteristics: Compute the main network characteristics of each dataset./AEMMDW: Node role classification. This is a model to predict the node role of the whole IP bear network./SLHCD: Community detection. This is a model to detect the appropreate hierarchical communities in IP bear network.
The method supports to output the community results in the .gexf file (open in gephi). Gephi is a visualization and exploration software for all kinds of networks, which is much clear than matplotlib to show the network details especially when the network is large-scale.

