Cluster analysis is an unsupervised machine learning technique used to group similar objects together. It partitions data into clusters where objects within a cluster are as similar as possible to each other, and as dissimilar as possible to objects in other clusters. There are several clustering methods including partitioning, hierarchical, density-based, grid-based, and model-based. Clustering is widely used in applications such as market segmentation, document classification, and fraud detection.