Clustering tries to create a taxonomy by discovering groups (»segments«, »clusters«) of similar items from a large heterogenous set of items. These clusters are then homogenous rather than heterogenous.
Clustering is different from classification in that it has not a predefined set of classes.
Types of clustering
Hierarchical
Partitional (Clusters might contain subclusters)
Overlapping (a data point might belong to mutliple clusters), aka non-exclusive
Fuzzy (A data point belongs to a cluster with weight between 0 and 1)
Partial (Not every data point has to belong to a cluster), the opposite being: complete clustering
Algorithms:
k-means is an unsupervised learning algorithm that finds k clusters in a data set