K-Means Clustering is an unsupervised learning algorithm. It works by grouping similar data points together to try to find underlying patterns.
The number of groups are pre-defined by the user as K.
How the Algorithm works
Before the iterative update starts, a random selection of centroid locations are picked on the graph. These centroids act as the beginning points for each cluster. (if K = 5, there will be 5 random centroids)
- Data Assignment Step
- Each data point is assigned to its nearest centroid, based on the squared Euclidean distance
- Centroid Update
- Given the new data points, re-calculate the centroid value
- Repeat until centroid no longer changes, or until a stopping criteria.
Choosing K
How do we choose K? Well, iteratively of cause. We define K to be a range of values, and run K-mean clustering through those values.

Conlcusion
This was a pretty short post, but it acts as a summary of how K-means clustering works!