Overview#Cluster analysis is the task of classification in such a way that objects in the same classification (called a cluster) are more similar (in some sense or another) to each other than to those in other classifications (clusters).
Cluster analysis is a form of Unsupervised Learning
Cluster analysis is a common technique for exploratory data mining, statistical data analysis, used in many fields, including machine Learning, pattern-recognition, computer vision, information retrieval, bioinformatics, data compression, and computer graphics.
Cluster analysis itself is not one specific algorithm, but the general task to be solved. Cluster analysis can be achieved by various algorithms that differ significantly in their notion of what constitutes a cluster and how to efficiently find them. Popular notions of clusters include classifications with small distances among the cluster members, dense areas of the data space, intervals or particular statistical distributions. Clustering can therefore be formulated as a multi-objective optimization problem. The appropriate clustering algorithm and parameter settings (including values such as the distance function to use, a density threshold or the number of expected clusters) depend on the individual data set and intended use of the results.
Cluster analysis as such is not an automatic task, but an iterative process of knowledge discovery or interactive multi-objective optimization that involves trial and failure. Cluster analysis is often necessary to modify data preprocessing and model parameters until the result achieves the desired properties.
Besides the term Cluster analysis, there are a number of terms with similar meanings, including automatic classification, numerical taxonomy, botryology (from Greek βότρυς "grape") and typological analysis. The subtle differences are often in the usage of the results: while in data mining, the resulting classifications are the matter of interest, in automatic classification the resulting discriminative power is of interest.