NEO-K-Means
- NEO-K-Means (Non-exhaustive, Overlapping K-Means)
Download
The NEO-K-Means algorithm for data clustering is written in MATLAB and the algorithm for graph clustering is written in a mixture of C++ and MATLAB.
To download the codes, please click here.
Usage
-Data Clustering
A sample dataset (synth2.mat) and a script file (run_synth2.m) are included.
Please run the script to test the code and visualize the clustering result.
-Graph Clustering
In the command line, please type:
make clean
make
And then, you can run the code using the following command:
./neo -a alpha_value -b beta_value -s sigma_value input (Please set the sigma_value to be zero.)
For example, you can just type sh run_neo.sh to see how it works on the karate club network.
In the output file, each line corresponds to the membership of the node. For example, if the first line contains 0 and 1, it means that the first node belongs to cluster 0 and cluster 1.
You can also find the MATLAB interface within ‘matlab’ folder. Please run ‘test.m’ to test the code on the karate club network. You might want to execute MATLAB using the following command: LD_PRELOAD=”/usr/lib/x86_64-linux-gnu/libstdc++.so.6″ matlab
Citation
This software is released under the GNU Public License (GPL) but please acknowledge its use with a citation to at least one of the following publications:- Non-exhaustive, Overlapping Clustering (pdf, software)
J. Whang, Y. Hou, D. Gleich, I. Dhillon.
IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 41(11), pp. 2644–2659, August 2018. - Non-exhaustive, Overlapping k-means (pdf, software)
J. Whang, I. Dhillon, D. Gleich.
In SIAM International Conference on Data Mining (SDM), pp. 936–944, May 2015.