EigenCuts spectral clustering implementation on map/reduce for Apache Mahout
by Shannon for Apache Software Foundation
Clustering algorithms are advantageous when the number of classes are not known a priori. However, most techniques still require an explicit K to be chosen, and most spectral algorithms' use of piecewise constant approximation of eigenvectors breaks down when the clusters are tightly coupled. EigenCuts solves both these problems by choosing an eigenvector to create a new cluster boundary and iterating until no more edges are cut.