Finding an optimal number of clusters for k-means