K-means Clustering implementation with k-means ++ optimizations