K-means-based consensus clustering: algorithms, theory and applications.