An implementation of K Means Clustering Algorithm from scratch. Includes implementation K Means Clustering with Smart Initialization.