Introduced on day 14
k-means
A clustering algorithm that assigns each row to the nearest of k centres and moves the centres to the mean of their rows until assignments stop changing.
In detail
k-means minimizes the within-cluster sum of squared Euclidean distances. It needs k in advance, assumes compact, roughly round clusters of similar size, depends on feature scaling, can stop at a local minimum (use several starts and k-means++ seeding) and always returns k clusters, including on data with no groups.