Attention! To see the equations in this file with chrome browser without flaws, we recommend a plugin for chrome browser called MathJax Plugin for Github.
Author: Jun Zhang <jun.1.zhang@aalto.fi>, Zhiheng Qian <zhiheng.qian@aalto.fi>
The objective of this project is to design and implement a algorithm to partition a graph into communities. We use pre-processed graphs from the Stanford Network Analysis Project. The preprocessed datasets are in the folder "\graph_processed". Given an undirected graph
The baseline algorithm is spectral clustering with RatioCut. We also explored a couple of ways to optimize the general spectral clustering and do some comparisons. To see the complete comparsons in detail, please refer to the file "DataMining_Project.pdf".
To run the program, please use the following command:
python3 graph_partition.py [filename]
If you want to save the eigenvectors, please add the parameter '--save', i.e:
python3 graph_partition.py [filename] --save
The result will be save in the folder "\result". Some useful statistics will be saved in the foler "\stat". Notice that some datasets such as soc-Epinions1, web-NotreDame, roadNet-CA are too big to be ran on the PC. In that case, please use powerful server instead.