K-Means
Use the K-Means algorithm to find discrete groupings within data, where members of a
group are as similar as possible to one another, and as different as possible from members of
other groups.
You define the attributes that you want the algorithm to use to determine similarity. It scales to massive datasets and delivers improvements in training time. The algorithm streams mini-batches, small, random subsets of the training data.