This document provides an overview of k-means clustering, an unsupervised machine learning technique for grouping unlabeled data points into clusters based on their similarities. It describes how k-means works by initializing cluster centroids and then iteratively reassigning data points to the closest centroid and recalculating centroids until clusters stabilize. The document also discusses pros and cons of k-means clustering as well as tips, tools, and references for further reading.