OSDSC - Open Source Distributed Spectral Clustering is a distributed rendition of the Spectral Clustering algorithm.
sbt "set test in assembly := {}" clean assembly
You should have Apache Spark of version 1.6.2 installed in your cluster. Refer to Apache Spark's documents for details. You should have SBT of version 0.13.8 installed on your master. Refer to SBT documents for details. You should have Scala of version 2.10.5 installed on your master. Refer to Scala documents for details.
- Build OSDSC,
sbt package
and findosdsc-<version>.jar
intarget/
- Deploy
osdsc-<version>.jar
to master machine. - Run spark by
bin/spark-submit
The input given is in the following sequence:
- Input File: Dataset of comma separated values
- Number of dimensions: Number of dimensions of the dataset
- Number of points: Number of data points.
- Number of neighbors: Number of neighbors to consider for sparse affinity matrix construction.
- Gamma: Gamma value for the Gaussian kernel
- Number of clusters: Number of clusters in the dataset.
- Number of iterations: Number of KMeans iterations to perform.
Run the example by:
bin/spark-submit --class "ann" target/osdsc-<version>.jar iris.txt 4 150 10 0.01 3 20
We present a distributed and open source version for the Spectral Clustering algorithm. The design of the algorithm reduces the computational time complexity and space complexity of the algorithm by approximating the similarity matrix construction and also by using the Apache Spark framework. The experimental results show that the proposed method also maintains the clustering accuracy.
ANNOY used for computing the approximate nearest neighbors.
Ulrike von Luxburg. A tutorial on spectral clustering. U. Stat Comput (2007) 17: 395. https://doi.org/10.1007/s11222-007-9033-z
Feel free to post any questions or comments in the Issues section. In case of any questions you can also mail Ankita Joshi at ankita.joshi25@uga.edu