![Cluster analysis](https://www.english.nina.az/wikipedia/image/aHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9jL2M4L0NsdXN0ZXItMi5zdmcvMTYwMHB4LUNsdXN0ZXItMi5zdmcucG5n.png )
Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some specific sense defined by the analyst) to each other than to those in other groups (clusters). It is a main task of exploratory data analysis, and a common technique for statistical data analysis, used in many fields, including pattern recognition, image analysis, information retrieval, bioinformatics, data compression, computer graphics and machine learning.
![image](https://www.english.nina.az/wikipedia/image/aHR0cHM6Ly93d3cuZW5nbGlzaC5uaW5hLmF6L3dpa2lwZWRpYS9pbWFnZS9hSFIwY0hNNkx5OTFjR3h2WVdRdWQybHJhVzFsWkdsaExtOXlaeTkzYVd0cGNHVmthV0V2WTI5dGJXOXVjeTkwYUhWdFlpOWpMMk00TDBOc2RYTjBaWEl0TWk1emRtY3ZNakl3Y0hndFEyeDFjM1JsY2kweUxuTjJaeTV3Ym1jPS5wbmc=.png)
Cluster analysis refers to a family of algorithms and tasks rather than one specific algorithm. It can be achieved by various algorithms that differ significantly in their understanding of what constitutes a cluster and how to efficiently find them. Popular notions of clusters include groups with small distances between 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 parameters 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. It is often necessary to modify data preprocessing and model parameters until the result achieves the desired properties.
Besides the term clustering, there are a number of terms with similar meanings, including automatic classification, numerical taxonomy, botryology (from Greek: βότρυς 'grape'), typological analysis, and community detection. The subtle differences are often in the use of the results: while in data mining, the resulting groups are the matter of interest, in automatic classification the resulting discriminative power is of interest.
Cluster analysis originated in anthropology by Driver and Kroeber in 1932 and introduced to psychology by Joseph Zubin in 1938 and Robert Tryon in 1939 and famously used by Cattell beginning in 1943 for trait theory classification in personality psychology.
Definition
The notion of a "cluster" cannot be precisely defined, which is one of the reasons why there are so many clustering algorithms. There is a common denominator: a group of data objects. However, different researchers employ different cluster models, and for each of these cluster models again different algorithms can be given. The notion of a cluster, as found by different algorithms, varies significantly in its properties. Understanding these "cluster models" is key to understanding the differences between the various algorithms. Typical cluster models include:
- Connectivity models: for example, hierarchical clustering builds models based on distance connectivity.
- Centroid models: for example, the k-means algorithm represents each cluster by a single mean vector.
- Distribution models: clusters are modeled using statistical distributions, such as multivariate normal distributions used by the expectation-maximization algorithm.
- Density models: for example, DBSCAN and OPTICS defines clusters as connected dense regions in the data space.
- Subspace models: in biclustering (also known as co-clustering or two-mode-clustering), clusters are modeled with both cluster members and relevant attributes.
- Group models: some algorithms do not provide a refined model for their results and just provide the grouping information.
- Graph-based models: a clique, that is, a subset of nodes in a graph such that every two nodes in the subset are connected by an edge can be considered as a prototypical form of cluster. Relaxations of the complete connectivity requirement (a fraction of the edges can be missing) are known as quasi-cliques, as in the HCS clustering algorithm.
- Signed graph models: Every path in a signed graph has a sign from the product of the signs on the edges. Under the assumptions of balance theory, edges may change sign and result in a bifurcated graph. The weaker "clusterability axiom" (no cycle has exactly one negative edge) yields results with more than two clusters, or subgraphs with only positive edges.
- Neural models: the most well-known unsupervised neural network is the self-organizing map and these models can usually be characterized as similar to one or more of the above models, and including subspace models when neural networks implement a form of Principal Component Analysis or Independent Component Analysis.
A "clustering" is essentially a set of such clusters, usually containing all objects in the data set. Additionally, it may specify the relationship of the clusters to each other, for example, a hierarchy of clusters embedded in each other. Clusterings can be roughly distinguished as:
- Hard clustering: each object belongs to a cluster or not
- Soft clustering (also: fuzzy clustering): each object belongs to each cluster to a certain degree (for example, a likelihood of belonging to the cluster)
There are also finer distinctions possible, for example:
- Strict partitioning clustering: each object belongs to exactly one cluster
- Strict partitioning clustering with outliers: objects can also belong to no cluster; in which case they are considered outliers
- Overlapping clustering (also: alternative clustering, multi-view clustering): objects may belong to more than one cluster; usually involving hard clusters
- Hierarchical clustering: objects that belong to a child cluster also belong to the parent cluster
- Subspace clustering: while an overlapping clustering, within a uniquely defined subspace, clusters are not expected to overlap
Algorithms
As listed above, clustering algorithms can be categorized based on their cluster model. The following overview will only list the most prominent examples of clustering algorithms, as there are possibly over 100 published clustering algorithms. Not all provide models for their clusters and can thus not easily be categorized. An overview of algorithms explained in Wikipedia can be found in the list of statistics algorithms.
There is no objectively "correct" clustering algorithm, but as it was noted, "clustering is in the eye of the beholder." In fact, an axiomatic approach to clustering demonstrates that it is impossible for any clustering method to meet three fundamental properties simultaneously: scale invariance (results remain unchanged under proportional scaling of distances), richness (all possible partitions of the data can be achieved), and consistency between distances and the clustering structure. The most appropriate clustering algorithm for a particular problem often needs to be chosen experimentally, unless there is a mathematical reason to prefer one cluster model over another. An algorithm that is designed for one kind of model will generally fail on a data set that contains a radically different kind of model. For example, k-means cannot find non-convex clusters. Most traditional clustering methods assume the clusters exhibit a spherical, elliptical or convex shape.
Connectivity-based clustering (hierarchical clustering)
Connectivity-based clustering, also known as hierarchical clustering, is based on the core idea of objects being more related to nearby objects than to objects farther away. These algorithms connect "objects" to form "clusters" based on their distance. A cluster can be described largely by the maximum distance needed to connect parts of the cluster. At different distances, different clusters will form, which can be represented using a dendrogram, which explains where the common name "hierarchical clustering" comes from: these algorithms do not provide a single partitioning of the data set, but instead provide an extensive hierarchy of clusters that merge with each other at certain distances. In a dendrogram, the y-axis marks the distance at which the clusters merge, while the objects are placed along the x-axis such that the clusters don't mix.
Connectivity-based clustering is a whole family of methods that differ by the way distances are computed. Apart from the usual choice of distance functions, the user also needs to decide on the linkage criterion (since a cluster consists of multiple objects, there are multiple candidates to compute the distance) to use. Popular choices are known as single-linkage clustering (the minimum of object distances), complete linkage clustering (the maximum of object distances), and UPGMA or WPGMA ("Unweighted or Weighted Pair Group Method with Arithmetic Mean", also known as average linkage clustering). Furthermore, hierarchical clustering can be agglomerative (starting with single elements and aggregating them into clusters) or divisive (starting with the complete data set and dividing it into partitions).
These methods will not produce a unique partitioning of the data set, but a hierarchy from which the user still needs to choose appropriate clusters. They are not very robust towards outliers, which will either show up as additional clusters or even cause other clusters to merge (known as "chaining phenomenon", in particular with single-linkage clustering). In the general case, the complexity is for agglomerative clustering and
for divisive clustering, which makes them too slow for large data sets. For some special cases, optimal efficient methods (of complexity
) are known: SLINK for single-linkage and CLINK for complete-linkage clustering.
- Linkage clustering examples
- Single-linkage on Gaussian data. At 35 clusters, the biggest cluster starts fragmenting into smaller parts, while before it was still connected to the second largest due to the single-link effect.
- Single-linkage on density-based clusters. 20 clusters extracted, most of which contain single elements, since linkage clustering does not have a notion of "noise".
Centroid-based clustering
In centroid-based clustering, each cluster is represented by a central vector, which is not necessarily a member of the data set. When the number of clusters is fixed to k, k-means clustering gives a formal definition as an optimization problem: find the k cluster centers and assign the objects to the nearest cluster center, such that the squared distances from the cluster are minimized.
The optimization problem itself is known to be NP-hard, and thus the common approach is to search only for approximate solutions. A particularly well-known approximate method is Lloyd's algorithm, often just referred to as "k-means algorithm" (although another algorithm introduced this name). It does however only find a local optimum, and is commonly run multiple times with different random initializations. Variations of k-means often include such optimizations as choosing the best of multiple runs, but also restricting the centroids to members of the data set (k-medoids), choosing medians (k-medians clustering), choosing the initial centers less randomly (k-means++) or allowing a fuzzy cluster assignment (fuzzy c-means).
Most k-means-type algorithms require the number of clusters – k – to be specified in advance, which is considered to be one of the biggest drawbacks of these algorithms. Furthermore, the algorithms prefer clusters of approximately similar size, as they will always assign an object to the nearest centroid. This often leads to incorrectly cut borders of clusters (which is not surprising since the algorithm optimizes cluster centers, not cluster borders).
K-means has a number of interesting theoretical properties. First, it partitions the data space into a structure known as a Voronoi diagram. Second, it is conceptually close to nearest neighbor classification, and as such is popular in machine learning. Third, it can be seen as a variation of model-based clustering, and Lloyd's algorithm as a variation of the Expectation-maximization algorithm for this model discussed below.
- k-means clustering examples
- k-means separates data into Voronoi cells, which assumes equal-sized clusters (not adequate here).
- k-means cannot represent density-based clusters.
Centroid-based clustering problems such as k-means and k-medoids are special cases of the uncapacitated, metric facility location problem, a canonical problem in the operations research and computational geometry communities. In a basic facility location problem (of which there are numerous variants that model more elaborate settings), the task is to find the best warehouse locations to optimally service a given set of consumers. One may view "warehouses" as cluster centroids and "consumer locations" as the data to be clustered. This makes it possible to apply the well-developed algorithmic solutions from the facility location literature to the presently considered centroid-based clustering problem.
Model-based clustering
The clustering framework most closely related to statistics is model-based clustering, which is based on distribution models. This approach models the data as arising from a mixture of probability distributions. It has the advantages of providing principled statistical answers to questions such as how many clusters there are, what clustering method or model to use, and how to detect and deal with outliers.
While the theoretical foundation of these methods is excellent, they suffer from overfitting unless constraints are put on the model complexity. A more complex model will usually be able to explain the data better, which makes choosing the appropriate model complexity inherently difficult. Standard model-based clustering methods include more parsimonious models based on the eigenvalue decomposition of the covariance matrices, that provide a balance between overfitting and fidelity to the data.
One prominent method is known as Gaussian mixture models (using the expectation-maximization algorithm). Here, the data set is usually modeled with a fixed (to avoid overfitting) number of Gaussian distributions that are initialized randomly and whose parameters are iteratively optimized to better fit the data set. This will converge to a local optimum, so multiple runs may produce different results. In order to obtain a hard clustering, objects are often then assigned to the Gaussian distribution they most likely belong to; for soft clusterings, this is not necessary.
Distribution-based clustering produces complex models for clusters that can capture correlation and dependence between attributes. However, these algorithms put an extra burden on the user: for many real data sets, there may be no concisely defined mathematical model (e.g. assuming Gaussian distributions is a rather strong assumption on the data).
- Gaussian mixture model clustering examples
- On Gaussian-distributed data, EM works well, since it uses Gaussians for modelling clusters.
- Density-based clusters cannot be modeled using Gaussian distributions.
Density-based clustering
In density-based clustering, clusters are defined as areas of higher density than the remainder of the data set. Objects in sparse areas – that are required to separate clusters – are usually considered to be noise and border points.
The most popular density-based clustering method is DBSCAN. In contrast to many newer methods, it features a well-defined cluster model called "density-reachability". Similar to linkage-based clustering, it is based on connecting points within certain distance thresholds. However, it only connects points that satisfy a density criterion, in the original variant defined as a minimum number of other objects within this radius. A cluster consists of all density-connected objects (which can form a cluster of an arbitrary shape, in contrast to many other methods) plus all objects that are within these objects' range. Another interesting property of DBSCAN is that its complexity is fairly low – it requires a linear number of range queries on the database – and that it will discover essentially the same results (it is deterministic for core and noise points, but not for border points) in each run, therefore there is no need to run it multiple times. OPTICS is a generalization of DBSCAN that removes the need to choose an appropriate value for the range parameter , and produces a hierarchical result related to that of linkage clustering. DeLi-Clu, Density-Link-Clustering combines ideas from single-linkage clustering and OPTICS, eliminating the
parameter entirely and offering performance improvements over OPTICS by using an R-tree index.
The key drawback of DBSCAN and OPTICS is that they expect some kind of density drop to detect cluster borders. On data sets with, for example, overlapping Gaussian distributions – a common use case in artificial data – the cluster borders produced by these algorithms will often look arbitrary, because the cluster density decreases continuously. On a data set consisting of mixtures of Gaussians, these algorithms are nearly always outperformed by methods such as EM clustering that are able to precisely model this kind of data.
Mean-shift is a clustering approach where each object is moved to the densest area in its vicinity, based on kernel density estimation. Eventually, objects converge to local maxima of density. Similar to k-means clustering, these "density attractors" can serve as representatives for the data set, but mean-shift can detect arbitrary-shaped clusters similar to DBSCAN. Due to the expensive iterative procedure and density estimation, mean-shift is usually slower than DBSCAN or k-Means. Besides that, the applicability of the mean-shift algorithm to multidimensional data is hindered by the unsmooth behaviour of the kernel density estimate, which results in over-fragmentation of cluster tails.
- Density-based clustering examples
- Density-based clustering with DBSCAN
- DBSCAN assumes clusters of similar density, and may have problems separating nearby clusters.
- OPTICS is a DBSCAN variant, improving handling of different densities clusters.
Grid-based clustering
The grid-based technique is used for a multi-dimensional data set. In this technique, we create a grid structure, and the comparison is performed on grids (also known as cells). The grid-based technique is fast and has low computational complexity. There are two types of grid-based clustering methods: STING and CLIQUE. Steps involved in grid-based clustering algorithm are:
- Divide data space into a finite number of cells.
- Randomly select a cell ‘c’, where c should not be traversed beforehand.
- Calculate the density of ‘c’
- If the density of ‘c’ greater than threshold density
- Mark cell ‘c’ as a new cluster
- Calculate the density of all the neighbors of ‘c’
- If the density of a neighboring cell is greater than threshold density then, add the cell in the cluster and repeat steps 4.2 and 4.3 till there is no neighbor with a density greater than threshold density.
- Repeat steps 2,3 and 4 till all the cells are traversed.
- Stop.
Recent developments
In recent years, considerable effort has been put into improving the performance of existing algorithms. Among them are CLARANS, and BIRCH. With the recent need to process larger and larger data sets (also known as big data), the willingness to trade semantic meaning of the generated clusters for performance has been increasing. This led to the development of pre-clustering methods such as canopy clustering, which can process huge data sets efficiently, but the resulting "clusters" are merely a rough pre-partitioning of the data set to then analyze the partitions with existing slower methods such as k-means clustering.
For high-dimensional data, many of the existing methods fail due to the curse of dimensionality, which renders particular distance functions problematic in high-dimensional spaces. This led to new clustering algorithms for high-dimensional data that focus on subspace clustering (where only some attributes are used, and cluster models include the relevant attributes for the cluster) and correlation clustering that also looks for arbitrary rotated ("correlated") subspace clusters that can be modeled by giving a correlation of their attributes. Examples for such clustering algorithms are CLIQUE and SUBCLU.
Ideas from density-based clustering methods (in particular the DBSCAN/OPTICS family of algorithms) have been adapted to subspace clustering (HiSC, hierarchical subspace clustering and DiSH) and correlation clustering (HiCO, hierarchical correlation clustering, 4C using "correlation connectivity" and ERiC exploring hierarchical density-based correlation clusters).
Several different clustering systems based on mutual information have been proposed. One is Marina Meilă's variation of information metric; another provides hierarchical clustering. Using genetic algorithms, a wide range of different fit-functions can be optimized, including mutual information. Also belief propagation, a recent development in computer science and statistical physics, has led to the creation of new types of clustering algorithms.
Evaluation and assessment
Evaluation (or "validation") of clustering results is as difficult as the clustering itself. Popular approaches involve "internal" evaluation, where the clustering is summarized to a single quality score, "external" evaluation, where the clustering is compared to an existing "ground truth" classification, "manual" evaluation by a human expert, and "indirect" evaluation by evaluating the utility of the clustering in its intended application.
Internal evaluation measures suffer from the problem that they represent functions that themselves can be seen as a clustering objective. For example, one could cluster the data set by the Silhouette coefficient; except that there is no known efficient algorithm for this. By using such an internal measure for evaluation, one rather compares the similarity of the optimization problems, and not necessarily how useful the clustering is.
External evaluation has similar problems: if we have such "ground truth" labels, then we would not need to cluster; and in practical applications we usually do not have such labels. On the other hand, the labels only reflect one possible partitioning of the data set, which does not imply that there does not exist a different, and maybe even better, clustering.
Neither of these approaches can therefore ultimately judge the actual quality of a clustering, but this needs human evaluation, which is highly subjective. Nevertheless, such statistics can be quite informative in identifying bad clusterings, but one should not dismiss subjective human evaluation.
Internal evaluation
When a clustering result is evaluated based on the data that was clustered itself, this is called internal evaluation. These methods usually assign the best score to the algorithm that produces clusters with high similarity within a cluster and low similarity between clusters. One drawback of using internal criteria in cluster evaluation is that high scores on an internal measure do not necessarily result in effective information retrieval applications. Additionally, this evaluation is biased towards algorithms that use the same cluster model. For example, k-means clustering naturally optimizes object distances, and a distance-based internal criterion will likely overrate the resulting clustering.
Therefore, the internal evaluation measures are best suited to get some insight into situations where one algorithm performs better than another, but this shall not imply that one algorithm produces more valid results than another. Validity as measured by such an index depends on the claim that this kind of structure exists in the data set. An algorithm designed for some kind of models has no chance if the data set contains a radically different set of models, or if the evaluation measures a radically different criterion. For example, k-means clustering can only find convex clusters, and many evaluation indexes assume convex clusters. On a data set with non-convex clusters neither the use of k-means, nor of an evaluation criterion that assumes convexity, is sound.
More than a dozen of internal evaluation measures exist, usually based on the intuition that items in the same cluster should be more similar than items in different clusters.: 115–121 For example, the following methods can be used to assess the quality of clustering algorithms based on internal criterion:
- Davies–Bouldin index
- The Davies–Bouldin index can be calculated by the following formula:
- where n is the number of clusters,
is the centroid of cluster
,
is the average distance of all elements in cluster
to centroid
, and
is the distance between centroids
and
. Since algorithms that produce clusters with low intra-cluster distances (high intra-cluster similarity) and high inter-cluster distances (low inter-cluster similarity) will have a low Davies–Bouldin index, the clustering algorithm that produces a collection of clusters with the smallest Davies–Bouldin index is considered the best algorithm based on this criterion.
- Dunn index
- The Dunn index aims to identify dense and well-separated clusters. It is defined as the ratio between the minimal inter-cluster distance to maximal intra-cluster distance. For each cluster partition, the Dunn index can be calculated by the following formula:
- where d(i,j) represents the distance between clusters i and j, and d '(k) measures the intra-cluster distance of cluster k. The inter-cluster distance d(i,j) between two clusters may be any number of distance measures, such as the distance between the centroids of the clusters. Similarly, the intra-cluster distance d '(k) may be measured in a variety of ways, such as the maximal distance between any pair of elements in cluster k. Since internal criterion seek clusters with high intra-cluster similarity and low inter-cluster similarity, algorithms that produce clusters with high Dunn index are more desirable.
- Silhouette coefficient
- The silhouette coefficient contrasts the average distance to elements in the same cluster with the average distance to elements in other clusters. Objects with a high silhouette value are considered well clustered, objects with a low value may be outliers. This index works well with k-means clustering, and is also used to determine the optimal number of clusters.
External evaluation
In external evaluation, clustering results are evaluated based on data that was not used for clustering, such as known class labels and external benchmarks. Such benchmarks consist of a set of pre-classified items, and these sets are often created by (expert) humans. Thus, the benchmark sets can be thought of as a gold standard for evaluation. These types of evaluation methods measure how close the clustering is to the predetermined benchmark classes. However, it has recently been discussed whether this is adequate for real data, or only on synthetic data sets with a factual ground truth, since classes can contain internal structure, the attributes present may not allow separation of clusters or the classes may contain anomalies. Additionally, from a knowledge discovery point of view, the reproduction of known knowledge may not necessarily be the intended result. In the special scenario of constrained clustering, where meta information (such as class labels) is used already in the clustering process, the hold-out of information for evaluation purposes is non-trivial.
A number of measures are adapted from variants used to evaluate classification tasks. In place of counting the number of times a class was correctly assigned to a single data point (known as true positives), such pair counting metrics assess whether each pair of data points that is truly in the same cluster is predicted to be in the same cluster.
As with internal evaluation, several external evaluation measures exist,: 125–129 for example:
- Purity: Purity is a measure of the extent to which clusters contain a single class. Its calculation can be thought of as follows: For each cluster, count the number of data points from the most common class in said cluster. Now take the sum over all clusters and divide by the total number of data points. Formally, given some set of clusters
and some set of classes
, both partitioning
data points, purity can be defined as:
- This measure doesn't penalize having many clusters, and more clusters will make it easier to produce a high purity. A purity score of 1 is always possible by putting each data point in its own cluster. Also, purity doesn't work well for imbalanced data, where even poorly performing clustering algorithms will give a high purity value. For example, if a size 1000 dataset consists of two classes, one containing 999 points and the other containing 1 point, then every possible partition will have a purity of at least 99.9%.
- Rand index
- The Rand index computes how similar the clusters (returned by the clustering algorithm) are to the benchmark classifications. It can be computed using the following formula:
- where
is the number of true positives,
is the number of true negatives,
is the number of false positives, and
is the number of false negatives. The instances being counted here are the number of correct pairwise assignments. That is,
is the number of pairs of points that are clustered together in the predicted partition and in the ground truth partition,
is the number of pairs of points that are clustered together in the predicted partition but not in the ground truth partition etc. If the dataset is of size N, then
.
One issue with the Rand index is that false positives and false negatives are equally weighted. This may be an undesirable characteristic for some clustering applications. The F-measure addresses this concern,[citation needed] as does the chance-corrected adjusted Rand index.
- F-measure
- The F-measure can be used to balance the contribution of false negatives by weighting recall through a parameter
. Let precision and recall (both external evaluation measures in themselves) be defined as follows:
- where
is the precision rate and
is the recall rate. We can calculate the F-measure by using the following formula:
- When
,
. In other words, recall has no impact on the F-measure when
, and increasing
allocates an increasing amount of weight to recall in the final F-measure.
- Also
is not taken into account and can vary from 0 upward without bound.
- Jaccard index
- The Jaccard index is used to quantify the similarity between two datasets. The Jaccard index takes on a value between 0 and 1. An index of 1 means that the two dataset are identical, and an index of 0 indicates that the datasets have no common elements. The Jaccard index is defined by the following formula:
- This is simply the number of unique elements common to both sets divided by the total number of unique elements in both sets.
- Note that
is not taken into account.
- Dice index
- The Dice symmetric measure doubles the weight on
while still ignoring
:
- Fowlkes–Mallows index
- The Fowlkes–Mallows index computes the similarity between the clusters returned by the clustering algorithm and the benchmark classifications. The higher the value of the Fowlkes–Mallows index the more similar the clusters and the benchmark classifications are. It can be computed using the following formula:
- where
is the number of true positives,
is the number of false positives, and
is the number of false negatives. The
index is the geometric mean of the precision and recall
and
, and is thus also known as the G-measure, while the F-measure is their harmonic mean. Moreover, precision and recall are also known as Wallace's indices
and
. Chance normalized versions of recall, precision and G-measure correspond to Informedness, Markedness and Matthews Correlation and relate strongly to Kappa.
- Chi Index is an external validation index that measure the clustering results by applying the chi-squared statistic. This index scores positively the fact that the labels are as sparse as possible across the clusters, i.e., that each cluster has as few different labels as possible. The higher the value of the Chi Index the greater the relationship between the resulting clusters and the label used.
- The mutual information is an information theoretic measure of how much information is shared between a clustering and a ground-truth classification that can detect a non-linear similarity between two clusterings. Normalized mutual information is a family of corrected-for-chance variants of this that has a reduced bias for varying cluster numbers.
- Confusion matrix
- A confusion matrix can be used to quickly visualize the results of a classification (or clustering) algorithm. It shows how different a cluster is from the gold standard cluster.
Cluster tendency
To measure cluster tendency is to measure to what degree clusters exist in the data to be clustered, and may be performed as an initial test, before attempting clustering. One way to do this is to compare the data against random data. On average, random data should not have clusters.
- Hopkins statistic
- There are multiple formulations of the Hopkins statistic. A typical one is as follows. Let
be the set of
data points in
dimensional space. Consider a random sample (without replacement) of
data points with members
. Also generate a set
of
uniformly randomly distributed data points. Now define two distance measures,
to be the distance of
from its nearest neighbor in X and
to be the distance of
from its nearest neighbor in X. We then define the Hopkins statistic as:
- With this definition, uniform random data should tend to have values near to 0.5, and clustered data should tend to have values nearer to 1.
- However, data containing just a single Gaussian will also score close to 1, as this statistic measures deviation from a uniform distribution, not multimodality, making this statistic largely useless in application (as real data never is remotely uniform).
Applications
This section needs additional citations for verification.(November 2016) |
Biology, computational biology and bioinformatics
- Plant and animal ecology
- Cluster analysis is used to describe and to make spatial and temporal comparisons of communities (assemblages) of organisms in heterogeneous environments. It is also used in plant systematics to generate artificial phylogenies or clusters of organisms (individuals) at the species, genus or higher level that share a number of attributes.
- Transcriptomics
- Clustering is used to build groups of genes with related expression patterns (also known as coexpressed genes) as in HCS clustering algorithm. Often such groups contain functionally related proteins, such as enzymes for a specific pathway, or genes that are co-regulated. High throughput experiments using expressed sequence tags (ESTs) or DNA microarrays can be a powerful tool for genome annotation – a general aspect of genomics.
- Sequence analysis
- Sequence clustering is used to group homologous sequences into gene families. This is a very important concept in bioinformatics, and evolutionary biology in general. See evolution by gene duplication.
- High-throughput genotyping platforms
- Clustering algorithms are used to automatically assign genotypes.
- Human genetic clustering
- The similarity of genetic data is used in clustering to infer population structures.
- Medical imaging
- On PET scans, cluster analysis can be used to differentiate between different types of tissue in a three-dimensional image for many different purposes.
- Analysis of antimicrobial activity
- Cluster analysis can be used to analyse patterns of antibiotic resistance, to classify antimicrobial compounds according to their mechanism of action, to classify antibiotics according to their antibacterial activity.
- IMRT segmentation
- Clustering can be used to divide a fluence map into distinct regions for conversion into deliverable fields in MLC-based Radiation Therapy.
Business and marketing
- Market research
- Cluster analysis is widely used in market research when working with multivariate data from surveys and test panels. Market researchers use cluster analysis to partition the general population of consumers into market segments and to better understand the relationships between different groups of consumers/potential customers, and for use in market segmentation, product positioning, new product development and selecting test markets.
- Grouping of shopping items
- Clustering can be used to group all the shopping items available on the web into a set of unique products. For example, all the items on eBay can be grouped into unique products (eBay does not have the concept of a SKU).
- Social network analysis
- In the study of social networks, clustering may be used to recognize communities within large groups of people.
- Search result grouping
- In the process of intelligent grouping of the files and websites, clustering may be used to create a more relevant set of search results compared to normal search engines like Google[citation needed]. There are currently a number of web-based clustering tools such as Clusty. It also may be used to return a more comprehensive set of results in cases where a search term could refer to vastly different things. Each distinct use of the term corresponds to a unique cluster of results, allowing a ranking algorithm to return comprehensive results by picking the top result from each cluster.
- Slippy map optimization
- Flickr's map of photos and other map sites use clustering to reduce the number of markers on a map.[citation needed] This makes it both faster and reduces the amount of visual clutter.
- Software evolution
- Clustering is useful in software evolution as it helps to reduce legacy properties in code by reforming functionality that has become dispersed. It is a form of restructuring and hence is a way of direct preventative maintenance.
- Image segmentation
- Clustering can be used to divide a digital image into distinct regions for border detection or object recognition.
- Evolutionary algorithms
- Clustering may be used to identify different niches within the population of an evolutionary algorithm so that reproductive opportunity can be distributed more evenly amongst the evolving species or subspecies.
- Recommender systems
- Recommender systems are designed to recommend new items based on a user's tastes. They sometimes use clustering algorithms to predict a user's preferences based on the preferences of other users in the user's cluster.
- Markov chain Monte Carlo methods
- Clustering is often utilized to locate and characterize extrema in the target distribution.
- Anomaly detection
- Anomalies/outliers are typically – be it explicitly or implicitly – defined with respect to clustering structure in data.
- Natural language processing
- Clustering can be used to resolve lexical ambiguity.
- DevOps
- Clustering has been used to analyse the effectiveness of DevOps teams.
Social science
- Sequence analysis in social sciences
- Cluster analysis is used to identify patterns of family life trajectories, professional careers, and daily or weekly time use for example.
- Crime analysis
- Cluster analysis can be used to identify areas where there are greater incidences of particular types of crime. By identifying these distinct areas or "hot spots" where a similar crime has happened over a period of time, it is possible to manage law enforcement resources more effectively.
- Educational data mining
- Cluster analysis is for example used to identify groups of schools or students with similar properties.
- Typologies
- From poll data, projects such as those undertaken by the Pew Research Center use cluster analysis to discern typologies of opinions, habits, and demographics that may be useful in politics and marketing.
Others
- Field robotics
- Clustering algorithms are used for robotic situational awareness to track objects and detect outliers in sensor data.
- Mathematical chemistry
- To find structural similarity, etc., for example, 3000 chemical compounds were clustered in the space of 90 topological indices.
- Climatology
- To find weather regimes or preferred sea level pressure atmospheric patterns.
- Finance
- Cluster analysis has been used to cluster stocks into sectors.
- Petroleum geology
- Cluster analysis is used to reconstruct missing bottom hole core data or missing log curves in order to evaluate reservoir properties.
- Geochemistry
- The clustering of chemical properties in different sample locations.
See also
![image](https://www.english.nina.az/wikipedia/image/aHR0cHM6Ly93d3cuZW5nbGlzaC5uaW5hLmF6L3dpa2lwZWRpYS9pbWFnZS9hSFIwY0hNNkx5OTFjR3h2WVdRdWQybHJhVzFsWkdsaExtOXlaeTkzYVd0cGNHVmthV0V2Wlc0dmRHaDFiV0l2TkM4MFlTOURiMjF0YjI1ekxXeHZaMjh1YzNabkx6TXdjSGd0UTI5dGJXOXVjeTFzYjJkdkxuTjJaeTV3Ym1jPS5wbmc=.png)
Specialized types of cluster analysis
- Automatic clustering algorithms
- Balanced clustering
- Clustering high-dimensional data
- Conceptual clustering
- Consensus clustering
- Constrained clustering
- Community detection
- Data stream clustering
- HCS clustering
- Sequence clustering
- Spectral clustering
Techniques used in cluster analysis
- Artificial neural network (ANN)
- Nearest neighbor search
- Neighbourhood components analysis
- Latent class analysis
- Affinity propagation
Data projection and preprocessing
- Dimension reduction
- Principal component analysis
- Multidimensional scaling
Other
- Cluster-weighted modeling
- Curse of dimensionality
- Determining the number of clusters in a data set
- Parallel coordinates
- Structured data analysis
- Linear separability
References
- Driver and Kroeber (1932). "Quantitative Expression of Cultural Relationships". University of California Publications in American Archaeology and Ethnology. Quantitative Expression of Cultural Relationships. Berkeley, CA: University of California Press: 211–256. Archived from the original on 2020-12-06. Retrieved 2019-02-18.
- Zubin, Joseph (1938). "A technique for measuring like-mindedness". The Journal of Abnormal and Social Psychology. 33 (4): 508–516. doi:10.1037/h0055441. ISSN 0096-851X.
- Tryon, Robert C. (1939). Cluster Analysis: Correlation Profile and Orthometric (factor) Analysis for the Isolation of Unities in Mind and Personality. Edwards Brothers.
- Cattell, R. B. (1943). "The description of personality: Basic traits resolved into clusters". Journal of Abnormal and Social Psychology. 38 (4): 476–506. doi:10.1037/h0054116.
- Estivill-Castro, Vladimir (20 June 2002). "Why so many clustering algorithms – A Position Paper". ACM SIGKDD Explorations Newsletter. 4 (1): 65–75. doi:10.1145/568574.568575. S2CID 7329935.
- James A. Davis (May 1967) "Clustering and structural balance in graphs", Human Relations 20:181–7
- Kleinberg, Jon (2002). An Impossibility Theorem for Clustering (PDF). Advances in Neural Information Processing Systems. Vol. 15. MIT Press.
- Gao, Caroline X.; Dwyer, Dominic; Zhu, Ye; Smith, Catherine L.; Du, Lan; Filia, Kate M.; Bayer, Johanna; Menssink, Jana M.; Wang, Teresa; Bergmeir, Christoph; Wood, Stephen; Cotton, Sue M. (2023-09-01). "An overview of clustering methods with guidelines for application in mental health research". Psychiatry Research. 327: 115265. doi:10.1016/j.psychres.2023.115265. hdl:10481/84538. ISSN 0165-1781.
- Everitt, Brian (2011). Cluster analysis. Chichester, West Sussex, U.K: Wiley. ISBN 9780470749913.
- Sibson, R. (1973). "SLINK: an optimally efficient algorithm for the single-link cluster method" (PDF). The Computer Journal. 16 (1). British Computer Society: 30–34. doi:10.1093/comjnl/16.1.30.
- Defays, D. (1977). "An efficient algorithm for a complete link method". The Computer Journal. 20 (4). British Computer Society: 364–366. doi:10.1093/comjnl/20.4.364.
- Lloyd, S. (1982). "Least squares quantization in PCM". IEEE Transactions on Information Theory. 28 (2): 129–137. doi:10.1109/TIT.1982.1056489. S2CID 10833328.
- Kriegel, Hans-Peter; Kröger, Peer; Sander, Jörg; Zimek, Arthur (2011). "Density-based Clustering". WIREs Data Mining and Knowledge Discovery. 1 (3): 231–240. doi:10.1002/widm.30. S2CID 36920706.
- Microsoft academic search: most cited data mining articles Archived 2010-04-21 at the Wayback Machine: DBSCAN is on rank 24, when accessed on: 4/18/2010
- Ester, Martin; Kriegel, Hans-Peter; Sander, Jörg; Xu, Xiaowei (1996). "A density-based algorithm for discovering clusters in large spatial databases with noise". In Simoudis, Evangelos; Han, Jiawei; Fayyad, Usama M. (eds.). Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96). AAAI Press. pp. 226–231. ISBN 1-57735-004-9.
- Ankerst, Mihael; Breunig, Markus M.; Kriegel, Hans-Peter; Sander, Jörg (1999). "OPTICS: Ordering Points To Identify the Clustering Structure". ACM SIGMOD international conference on Management of data. ACM Press. pp. 49–60. CiteSeerX 10.1.1.129.6542.
- Achtert, E.; Böhm, C.; Kröger, P. (2006). "DeLi-Clu: Boosting Robustness, Completeness, Usability, and Efficiency of Hierarchical Clustering by a Closest Pair Ranking". Advances in Knowledge Discovery and Data Mining. Lecture Notes in Computer Science. Vol. 3918. pp. 119–128. CiteSeerX 10.1.1.64.1161. doi:10.1007/11731139_16. ISBN 978-3-540-33206-0.
- Aggarwal, Charu C.; Reddy, Chandan K. (eds.). Data Clustering : Algorithms and Applications. ISBN 978-1-315-37351-5. OCLC 1110589522.
- Sculley, D. (2010). Web-scale k-means clustering. Proc. 19th WWW.
- Huang, Z. (1998). "Extensions to the k-means algorithm for clustering large data sets with categorical values". Data Mining and Knowledge Discovery. 2 (3): 283–304. doi:10.1023/A:1009769707641. S2CID 11323096.
- R. Ng and J. Han. "Efficient and effective clustering method for spatial data mining". In: Proceedings of the 20th VLDB Conference, pages 144–155, Santiago, Chile, 1994.
- Tian Zhang, Raghu Ramakrishnan, Miron Livny. "An Efficient Data Clustering Method for Very Large Databases." In: Proc. Int'l Conf. on Management of Data, ACM SIGMOD, pp. 103–114.
- Kriegel, Hans-Peter; Kröger, Peer; Zimek, Arthur (July 2012). "Subspace clustering". Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery. 2 (4): 351–364. doi:10.1002/widm.1057. S2CID 7241355.
- Agrawal, R.; Gehrke, J.; Gunopulos, D.; Raghavan, P. (2005). "Automatic Subspace Clustering of High Dimensional Data". Data Mining and Knowledge Discovery. 11: 5–33. CiteSeerX 10.1.1.131.5152. doi:10.1007/s10618-005-1396-1. S2CID 9289572.
- Karin Kailing, Hans-Peter Kriegel and Peer Kröger. Density-Connected Subspace Clustering for High-Dimensional Data. In: Proc. SIAM Int. Conf. on Data Mining (SDM'04), pp. 246–257, 2004.
- Achtert, E.; Böhm, C.; Kriegel, H.-P.; Kröger, P.; Müller-Gorman, I.; Zimek, A. (2006). "Finding Hierarchies of Subspace Clusters". Knowledge Discovery in Databases: PKDD 2006. Lecture Notes in Computer Science. Vol. 4213. pp. 446–453. CiteSeerX 10.1.1.705.2956. doi:10.1007/11871637_42. ISBN 978-3-540-45374-1.
- Achtert, E.; Böhm, C.; Kriegel, H. P.; Kröger, P.; Müller-Gorman, I.; Zimek, A. (2007). "Detection and Visualization of Subspace Cluster Hierarchies". Advances in Databases: Concepts, Systems and Applications. Lecture Notes in Computer Science. Vol. 4443. pp. 152–163. CiteSeerX 10.1.1.70.7843. doi:10.1007/978-3-540-71703-4_15. ISBN 978-3-540-71702-7.
- Achtert, E.; Böhm, C.; Kröger, P.; Zimek, A. (2006). "Mining Hierarchies of Correlation Clusters". 18th International Conference on Scientific and Statistical Database Management (SSDBM'06). pp. 119–128. CiteSeerX 10.1.1.707.7872. doi:10.1109/SSDBM.2006.35. ISBN 978-0-7695-2590-7. S2CID 2679909.
- Böhm, C.; Kailing, K.; Kröger, P.; Zimek, A. (2004). "Computing Clusters of Correlation Connected objects". Proceedings of the 2004 ACM SIGMOD international conference on Management of data - SIGMOD '04. p. 455. CiteSeerX 10.1.1.5.1279. doi:10.1145/1007568.1007620. ISBN 978-1581138597. S2CID 6411037.
- Achtert, E.; Bohm, C.; Kriegel, H. P.; Kröger, P.; Zimek, A. (2007). "On Exploring Complex Relationships of Correlation Clusters". 19th International Conference on Scientific and Statistical Database Management (SSDBM 2007). p. 7. CiteSeerX 10.1.1.71.5021. doi:10.1109/SSDBM.2007.21. ISBN 978-0-7695-2868-7. S2CID 1554722.
- Meilă, Marina (2003). "Comparing Clusterings by the Variation of Information". Learning Theory and Kernel Machines. Lecture Notes in Computer Science. Vol. 2777. pp. 173–187. doi:10.1007/978-3-540-45167-9_14. ISBN 978-3-540-40720-1.
- Kraskov, Alexander; Stögbauer, Harald; Andrzejak, Ralph G.; Grassberger, Peter (1 December 2003). "Hierarchical Clustering Based on Mutual Information". arXiv:q-bio/0311039. Bibcode:2003q.bio....11039K.
{{cite journal}}
: Cite journal requires|journal=
(help) - Auffarth, B. (July 18–23, 2010). "Clustering by a Genetic Algorithm with Biased Mutation Operator". Wcci Cec. IEEE.
- Frey, B. J.; Dueck, D. (2007). "Clustering by Passing Messages Between Data Points". Science. 315 (5814): 972–976. Bibcode:2007Sci...315..972F. CiteSeerX 10.1.1.121.3145. doi:10.1126/science.1136800. PMID 17218491. S2CID 6502291.
- Pfitzner, Darius; Leibbrandt, Richard; Powers, David (2009). "Characterization and evaluation of similarity measures for pairs of clusterings". Knowledge and Information Systems. 19 (3). Springer: 361–394. doi:10.1007/s10115-008-0150-6. S2CID 6935380.
- Feldman, Ronen; Sanger, James (2007-01-01). The Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data. Cambridge Univ. Press. ISBN 978-0521836579. OCLC 915286380.
- Weiss, Sholom M.; Indurkhya, Nitin; Zhang, Tong; Damerau, Fred J. (2005). Text Mining: Predictive Methods for Analyzing Unstructured Information. Springer. ISBN 978-0387954332. OCLC 803401334.
- Manning, Christopher D.; Raghavan, Prabhakar; Schütze, Hinrich (2008-07-07). Introduction to Information Retrieval. Cambridge University Press. ISBN 978-0-521-86571-5.
- Knowledge Discovery in Databases – Part III – Clustering (PDF), Heidelberg University, 2017
{{citation}}
: CS1 maint: location missing publisher (link) - Dunn, J. (1974). "Well separated clusters and optimal fuzzy partitions". Journal of Cybernetics. 4: 95–104. doi:10.1080/01969727408546059.
- Peter J. Rousseeuw (1987). "Silhouettes: A graphical aid to the interpretation and validation of cluster analysis". Journal of Computational and Applied Mathematics. 20: 53–65. doi:10.1016/0377-0427(87)90125-7.
- Färber, Ines; Günnemann, Stephan; Kriegel, Hans-Peter; Kröger, Peer; Müller, Emmanuel; Schubert, Erich; Seidl, Thomas; Zimek, Arthur (2010). "On Using Class-Labels in Evaluation of Clusterings" (PDF). In Fern, Xiaoli Z.; Davidson, Ian; Dy, Jennifer (eds.). MultiClust: Discovering, Summarizing, and Using Multiple Clusterings. ACM SIGKDD.
- Pourrajabi, M.; Moulavi, D.; Campello, R. J. G. B.; Zimek, A.; Sander, J.; Goebel, R. (2014). "Model Selection for Semi-Supervised Clustering". Proceedings of the 17th International Conference on Extending Database Technology (EDBT). pp. 331–342. doi:10.5441/002/edbt.2014.31.
- Rand, W. M. (1971). "Objective criteria for the evaluation of clustering methods". Journal of the American Statistical Association. 66 (336). American Statistical Association: 846–850. arXiv:1704.01036. doi:10.2307/2284239. JSTOR 2284239.
- Fowlkes, E. B.; Mallows, C. L. (1983). "A Method for Comparing Two Hierarchical Clusterings". Journal of the American Statistical Association. 78 (383): 553–569. doi:10.1080/01621459.1983.10478008. JSTOR 2288117.
- Powers, David (2003). Recall and Precision versus the Bookmaker. International Conference on Cognitive Science. pp. 529–534.
- Arabie, P. (1985). "Comparing partitions". Journal of Classification. 2 (1): 1985. doi:10.1007/BF01908075. S2CID 189915041.
- Wallace, D. L. (1983). "Comment". Journal of the American Statistical Association. 78 (383): 569–579. doi:10.1080/01621459.1983.10478009.
- Powers, David (2012). The Problem with Kappa. European Chapter of the Association for Computational Linguistics. pp. 345–355.
- Luna-Romera, José María; Martínez-Ballesteros, María; García-Gutiérrez, Jorge; Riquelme, José C. (June 2019). "External clustering validity index based on chi-squared statistical test". Information Sciences. 487: 1–17. doi:10.1016/j.ins.2019.02.046. hdl:11441/132081. S2CID 93003939.
- Hopkins, Brian; Skellam, John Gordon (1954). "A new method for determining the type of distribution of plant individuals". Annals of Botany. 18 (2). Annals Botany Co: 213–227. doi:10.1093/oxfordjournals.aob.a083391.
- Banerjee, A. (2004). "Validating clusters using the Hopkins statistic". 2004 IEEE International Conference on Fuzzy Systems (IEEE Cat. No.04CH37542). Vol. 1. pp. 149–153. doi:10.1109/FUZZY.2004.1375706. ISBN 978-0-7803-8353-1. S2CID 36701919.
- Johnson, Stephen C. (1967-09-01). "Hierarchical clustering schemes". Psychometrika. 32 (3): 241–254. doi:10.1007/BF02289588. ISSN 1860-0980. PMID 5234703. S2CID 930698.
- Hartuv, Erez; Shamir, Ron (2000-12-31). "A clustering algorithm based on graph connectivity". Information Processing Letters. 76 (4): 175–181. doi:10.1016/S0020-0190(00)00142-3. ISSN 0020-0190.
- Remm, Maido; Storm, Christian E. V.; Sonnhammer, Erik L. L. (2001-12-14). "Automatic clustering of orthologs and in-paralogs from pairwise species comparisons11Edited by F. Cohen". Journal of Molecular Biology. 314 (5): 1041–1052. doi:10.1006/jmbi.2000.5197. ISSN 0022-2836. PMID 11743721.
- Botstein, David; Cox, David R.; Risch, Neil; Olshen, Richard; Curb, David; Dzau, Victor J.; Chen, Yii-Der I.; Hebert, Joan; Pesich, Robert (2001-07-01). "High-Throughput Genotyping with Single Nucleotide Polymorphisms". Genome Research. 11 (7): 1262–1268. doi:10.1101/gr.157801. ISSN 1088-9051. PMC 311112. PMID 11435409.
- Filipovych, Roman; Resnick, Susan M.; Davatzikos, Christos (2011). "Semi-supervised Cluster Analysis of Imaging Data". NeuroImage. 54 (3): 2185–2197. doi:10.1016/j.neuroimage.2010.09.074. PMC 3008313. PMID 20933091.
- Di Marco, Antonio; Navigli, Roberto (2013). "Clustering and Diversifying Web Search Results with Graph-Based Word Sense Induction". Computational Linguistics. 39 (3): 709–754. doi:10.1162/COLI_a_00148. S2CID 1775181.
- Bewley, A., & Upcroft, B. (2013). Advantages of Exploiting Projection Structure for Segmenting Dense 3D Point Clouds. In Australian Conference on Robotics and Automation [1]
- 2022 Accelerate State of DevOps Report (PDF) (Report). Google Cloud's DevOps Research and Assessment (DORA). 29 September 2022. pp. 8, 14, 74.
- Bewley, A.; et al. "Real-time volume estimation of a dragline payload". IEEE International Conference on Robotics and Automation. 2011: 1571–1576.
- Basak, S.C.; Magnuson, V.R.; Niemi, C.J.; Regal, R.R. (1988). "Determining Structural Similarity of Chemicals Using Graph Theoretic Indices". Discr. Appl. Math. 19 (1–3): 17–44. doi:10.1016/0166-218x(88)90004-2.
- Huth, R.; et al. (2008). "Classifications of Atmospheric Circulation Patterns: Recent Advances and Applications" (PDF). Ann. N.Y. Acad. Sci. 1146 (1): 105–152. Bibcode:2008NYASA1146..105H. doi:10.1196/annals.1446.019. PMID 19076414. S2CID 22655306.
- Arnott, Robert D. (1980-11-01). "Cluster Analysis and Stock Price Comovement". Financial Analysts Journal. 36 (6): 56–62. doi:10.2469/faj.v36.n6.56. ISSN 0015-198X.
Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group called a cluster are more similar in some specific sense defined by the analyst to each other than to those in other groups clusters It is a main task of exploratory data analysis and a common technique for statistical data analysis used in many fields including pattern recognition image analysis information retrieval bioinformatics data compression computer graphics and machine learning The result of a cluster analysis shown as the coloring of the squares into three clusters Cluster analysis refers to a family of algorithms and tasks rather than one specific algorithm It can be achieved by various algorithms that differ significantly in their understanding of what constitutes a cluster and how to efficiently find them Popular notions of clusters include groups with small distances between 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 parameters 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 It is often necessary to modify data preprocessing and model parameters until the result achieves the desired properties Besides the term clustering there are a number of terms with similar meanings including automatic classification numerical taxonomy botryology from Greek botrys grape typological analysis and community detection The subtle differences are often in the use of the results while in data mining the resulting groups are the matter of interest in automatic classification the resulting discriminative power is of interest Cluster analysis originated in anthropology by Driver and Kroeber in 1932 and introduced to psychology by Joseph Zubin in 1938 and Robert Tryon in 1939 and famously used by Cattell beginning in 1943 for trait theory classification in personality psychology DefinitionThe notion of a cluster cannot be precisely defined which is one of the reasons why there are so many clustering algorithms There is a common denominator a group of data objects However different researchers employ different cluster models and for each of these cluster models again different algorithms can be given The notion of a cluster as found by different algorithms varies significantly in its properties Understanding these cluster models is key to understanding the differences between the various algorithms Typical cluster models include Connectivity model s for example hierarchical clustering builds models based on distance connectivity Centroid model s for example the k means algorithm represents each cluster by a single mean vector Distribution model s clusters are modeled using statistical distributions such as multivariate normal distributions used by the expectation maximization algorithm Density model s for example DBSCAN and OPTICS defines clusters as connected dense regions in the data space Subspace model s in biclustering also known as co clustering or two mode clustering clusters are modeled with both cluster members and relevant attributes Group model s some algorithms do not provide a refined model for their results and just provide the grouping information Graph based model s a clique that is a subset of nodes in a graph such that every two nodes in the subset are connected by an edge can be considered as a prototypical form of cluster Relaxations of the complete connectivity requirement a fraction of the edges can be missing are known as quasi cliques as in the HCS clustering algorithm Signed graph models Every path in a signed graph has a sign from the product of the signs on the edges Under the assumptions of balance theory edges may change sign and result in a bifurcated graph The weaker clusterability axiom no cycle has exactly one negative edge yields results with more than two clusters or subgraphs with only positive edges Neural model s the most well known unsupervised neural network is the self organizing map and these models can usually be characterized as similar to one or more of the above models and including subspace models when neural networks implement a form of Principal Component Analysis or Independent Component Analysis A clustering is essentially a set of such clusters usually containing all objects in the data set Additionally it may specify the relationship of the clusters to each other for example a hierarchy of clusters embedded in each other Clusterings can be roughly distinguished as Hard clustering each object belongs to a cluster or not Soft clustering also fuzzy clustering each object belongs to each cluster to a certain degree for example a likelihood of belonging to the cluster There are also finer distinctions possible for example Strict partitioning clustering each object belongs to exactly one cluster Strict partitioning clustering with outliers objects can also belong to no cluster in which case they are considered outliers Overlapping clustering also alternative clustering multi view clustering objects may belong to more than one cluster usually involving hard clusters Hierarchical clustering objects that belong to a child cluster also belong to the parent cluster Subspace clustering while an overlapping clustering within a uniquely defined subspace clusters are not expected to overlapAlgorithmsAs listed above clustering algorithms can be categorized based on their cluster model The following overview will only list the most prominent examples of clustering algorithms as there are possibly over 100 published clustering algorithms Not all provide models for their clusters and can thus not easily be categorized An overview of algorithms explained in Wikipedia can be found in the list of statistics algorithms There is no objectively correct clustering algorithm but as it was noted clustering is in the eye of the beholder In fact an axiomatic approach to clustering demonstrates that it is impossible for any clustering method to meet three fundamental properties simultaneously scale invariance results remain unchanged under proportional scaling of distances richness all possible partitions of the data can be achieved and consistency between distances and the clustering structure The most appropriate clustering algorithm for a particular problem often needs to be chosen experimentally unless there is a mathematical reason to prefer one cluster model over another An algorithm that is designed for one kind of model will generally fail on a data set that contains a radically different kind of model For example k means cannot find non convex clusters Most traditional clustering methods assume the clusters exhibit a spherical elliptical or convex shape Connectivity based clustering hierarchical clustering Connectivity based clustering also known as hierarchical clustering is based on the core idea of objects being more related to nearby objects than to objects farther away These algorithms connect objects to form clusters based on their distance A cluster can be described largely by the maximum distance needed to connect parts of the cluster At different distances different clusters will form which can be represented using a dendrogram which explains where the common name hierarchical clustering comes from these algorithms do not provide a single partitioning of the data set but instead provide an extensive hierarchy of clusters that merge with each other at certain distances In a dendrogram the y axis marks the distance at which the clusters merge while the objects are placed along the x axis such that the clusters don t mix Connectivity based clustering is a whole family of methods that differ by the way distances are computed Apart from the usual choice of distance functions the user also needs to decide on the linkage criterion since a cluster consists of multiple objects there are multiple candidates to compute the distance to use Popular choices are known as single linkage clustering the minimum of object distances complete linkage clustering the maximum of object distances and UPGMA or WPGMA Unweighted or Weighted Pair Group Method with Arithmetic Mean also known as average linkage clustering Furthermore hierarchical clustering can be agglomerative starting with single elements and aggregating them into clusters or divisive starting with the complete data set and dividing it into partitions These methods will not produce a unique partitioning of the data set but a hierarchy from which the user still needs to choose appropriate clusters They are not very robust towards outliers which will either show up as additional clusters or even cause other clusters to merge known as chaining phenomenon in particular with single linkage clustering In the general case the complexity is O n3 displaystyle mathcal O n 3 for agglomerative clustering and O 2n 1 displaystyle mathcal O 2 n 1 for divisive clustering which makes them too slow for large data sets For some special cases optimal efficient methods of complexity O n2 displaystyle mathcal O n 2 are known SLINK for single linkage and CLINK for complete linkage clustering Linkage clustering examples Single linkage on Gaussian data At 35 clusters the biggest cluster starts fragmenting into smaller parts while before it was still connected to the second largest due to the single link effect Single linkage on density based clusters 20 clusters extracted most of which contain single elements since linkage clustering does not have a notion of noise Centroid based clustering In centroid based clustering each cluster is represented by a central vector which is not necessarily a member of the data set When the number of clusters is fixed to k k means clustering gives a formal definition as an optimization problem find the k cluster centers and assign the objects to the nearest cluster center such that the squared distances from the cluster are minimized The optimization problem itself is known to be NP hard and thus the common approach is to search only for approximate solutions A particularly well known approximate method is Lloyd s algorithm often just referred to as k means algorithm although another algorithm introduced this name It does however only find a local optimum and is commonly run multiple times with different random initializations Variations of k means often include such optimizations as choosing the best of multiple runs but also restricting the centroids to members of the data set k medoids choosing medians k medians clustering choosing the initial centers less randomly k means or allowing a fuzzy cluster assignment fuzzy c means Most k means type algorithms require the number of clusters k to be specified in advance which is considered to be one of the biggest drawbacks of these algorithms Furthermore the algorithms prefer clusters of approximately similar size as they will always assign an object to the nearest centroid This often leads to incorrectly cut borders of clusters which is not surprising since the algorithm optimizes cluster centers not cluster borders K means has a number of interesting theoretical properties First it partitions the data space into a structure known as a Voronoi diagram Second it is conceptually close to nearest neighbor classification and as such is popular in machine learning Third it can be seen as a variation of model based clustering and Lloyd s algorithm as a variation of the Expectation maximization algorithm for this model discussed below k means clustering examples k means separates data into Voronoi cells which assumes equal sized clusters not adequate here k means cannot represent density based clusters Centroid based clustering problems such as k means and k medoids are special cases of the uncapacitated metric facility location problem a canonical problem in the operations research and computational geometry communities In a basic facility location problem of which there are numerous variants that model more elaborate settings the task is to find the best warehouse locations to optimally service a given set of consumers One may view warehouses as cluster centroids and consumer locations as the data to be clustered This makes it possible to apply the well developed algorithmic solutions from the facility location literature to the presently considered centroid based clustering problem Model based clustering The clustering framework most closely related to statistics is model based clustering which is based on distribution models This approach models the data as arising from a mixture of probability distributions It has the advantages of providing principled statistical answers to questions such as how many clusters there are what clustering method or model to use and how to detect and deal with outliers While the theoretical foundation of these methods is excellent they suffer from overfitting unless constraints are put on the model complexity A more complex model will usually be able to explain the data better which makes choosing the appropriate model complexity inherently difficult Standard model based clustering methods include more parsimonious models based on the eigenvalue decomposition of the covariance matrices that provide a balance between overfitting and fidelity to the data One prominent method is known as Gaussian mixture models using the expectation maximization algorithm Here the data set is usually modeled with a fixed to avoid overfitting number of Gaussian distributions that are initialized randomly and whose parameters are iteratively optimized to better fit the data set This will converge to a local optimum so multiple runs may produce different results In order to obtain a hard clustering objects are often then assigned to the Gaussian distribution they most likely belong to for soft clusterings this is not necessary Distribution based clustering produces complex models for clusters that can capture correlation and dependence between attributes However these algorithms put an extra burden on the user for many real data sets there may be no concisely defined mathematical model e g assuming Gaussian distributions is a rather strong assumption on the data Gaussian mixture model clustering examples On Gaussian distributed data EM works well since it uses Gaussians for modelling clusters Density based clusters cannot be modeled using Gaussian distributions Density based clustering In density based clustering clusters are defined as areas of higher density than the remainder of the data set Objects in sparse areas that are required to separate clusters are usually considered to be noise and border points The most popular density based clustering method is DBSCAN In contrast to many newer methods it features a well defined cluster model called density reachability Similar to linkage based clustering it is based on connecting points within certain distance thresholds However it only connects points that satisfy a density criterion in the original variant defined as a minimum number of other objects within this radius A cluster consists of all density connected objects which can form a cluster of an arbitrary shape in contrast to many other methods plus all objects that are within these objects range Another interesting property of DBSCAN is that its complexity is fairly low it requires a linear number of range queries on the database and that it will discover essentially the same results it is deterministic for core and noise points but not for border points in each run therefore there is no need to run it multiple times OPTICS is a generalization of DBSCAN that removes the need to choose an appropriate value for the range parameter e displaystyle varepsilon and produces a hierarchical result related to that of linkage clustering DeLi Clu Density Link Clustering combines ideas from single linkage clustering and OPTICS eliminating the e displaystyle varepsilon parameter entirely and offering performance improvements over OPTICS by using an R tree index The key drawback of DBSCAN and OPTICS is that they expect some kind of density drop to detect cluster borders On data sets with for example overlapping Gaussian distributions a common use case in artificial data the cluster borders produced by these algorithms will often look arbitrary because the cluster density decreases continuously On a data set consisting of mixtures of Gaussians these algorithms are nearly always outperformed by methods such as EM clustering that are able to precisely model this kind of data Mean shift is a clustering approach where each object is moved to the densest area in its vicinity based on kernel density estimation Eventually objects converge to local maxima of density Similar to k means clustering these density attractors can serve as representatives for the data set but mean shift can detect arbitrary shaped clusters similar to DBSCAN Due to the expensive iterative procedure and density estimation mean shift is usually slower than DBSCAN or k Means Besides that the applicability of the mean shift algorithm to multidimensional data is hindered by the unsmooth behaviour of the kernel density estimate which results in over fragmentation of cluster tails Density based clustering examples Density based clustering with DBSCAN DBSCAN assumes clusters of similar density and may have problems separating nearby clusters OPTICS is a DBSCAN variant improving handling of different densities clusters Grid based clustering The grid based technique is used for a multi dimensional data set In this technique we create a grid structure and the comparison is performed on grids also known as cells The grid based technique is fast and has low computational complexity There are two types of grid based clustering methods STING and CLIQUE Steps involved in grid based clustering algorithm are Divide data space into a finite number of cells Randomly select a cell c where c should not be traversed beforehand Calculate the density of c If the density of c greater than threshold density Mark cell c as a new cluster Calculate the density of all the neighbors of c If the density of a neighboring cell is greater than threshold density then add the cell in the cluster and repeat steps 4 2 and 4 3 till there is no neighbor with a density greater than threshold density Repeat steps 2 3 and 4 till all the cells are traversed Stop Recent developments In recent years considerable effort has been put into improving the performance of existing algorithms Among them are CLARANS and BIRCH With the recent need to process larger and larger data sets also known as big data the willingness to trade semantic meaning of the generated clusters for performance has been increasing This led to the development of pre clustering methods such as canopy clustering which can process huge data sets efficiently but the resulting clusters are merely a rough pre partitioning of the data set to then analyze the partitions with existing slower methods such as k means clustering For high dimensional data many of the existing methods fail due to the curse of dimensionality which renders particular distance functions problematic in high dimensional spaces This led to new clustering algorithms for high dimensional data that focus on subspace clustering where only some attributes are used and cluster models include the relevant attributes for the cluster and correlation clustering that also looks for arbitrary rotated correlated subspace clusters that can be modeled by giving a correlation of their attributes Examples for such clustering algorithms are CLIQUE and SUBCLU Ideas from density based clustering methods in particular the DBSCAN OPTICS family of algorithms have been adapted to subspace clustering HiSC hierarchical subspace clustering and DiSH and correlation clustering HiCO hierarchical correlation clustering 4C using correlation connectivity and ERiC exploring hierarchical density based correlation clusters Several different clustering systems based on mutual information have been proposed One is Marina Meilă s variation of information metric another provides hierarchical clustering Using genetic algorithms a wide range of different fit functions can be optimized including mutual information Also belief propagation a recent development in computer science and statistical physics has led to the creation of new types of clustering algorithms Evaluation and assessmentEvaluation or validation of clustering results is as difficult as the clustering itself Popular approaches involve internal evaluation where the clustering is summarized to a single quality score external evaluation where the clustering is compared to an existing ground truth classification manual evaluation by a human expert and indirect evaluation by evaluating the utility of the clustering in its intended application Internal evaluation measures suffer from the problem that they represent functions that themselves can be seen as a clustering objective For example one could cluster the data set by the Silhouette coefficient except that there is no known efficient algorithm for this By using such an internal measure for evaluation one rather compares the similarity of the optimization problems and not necessarily how useful the clustering is External evaluation has similar problems if we have such ground truth labels then we would not need to cluster and in practical applications we usually do not have such labels On the other hand the labels only reflect one possible partitioning of the data set which does not imply that there does not exist a different and maybe even better clustering Neither of these approaches can therefore ultimately judge the actual quality of a clustering but this needs human evaluation which is highly subjective Nevertheless such statistics can be quite informative in identifying bad clusterings but one should not dismiss subjective human evaluation Internal evaluation When a clustering result is evaluated based on the data that was clustered itself this is called internal evaluation These methods usually assign the best score to the algorithm that produces clusters with high similarity within a cluster and low similarity between clusters One drawback of using internal criteria in cluster evaluation is that high scores on an internal measure do not necessarily result in effective information retrieval applications Additionally this evaluation is biased towards algorithms that use the same cluster model For example k means clustering naturally optimizes object distances and a distance based internal criterion will likely overrate the resulting clustering Therefore the internal evaluation measures are best suited to get some insight into situations where one algorithm performs better than another but this shall not imply that one algorithm produces more valid results than another Validity as measured by such an index depends on the claim that this kind of structure exists in the data set An algorithm designed for some kind of models has no chance if the data set contains a radically different set of models or if the evaluation measures a radically different criterion For example k means clustering can only find convex clusters and many evaluation indexes assume convex clusters On a data set with non convex clusters neither the use of k means nor of an evaluation criterion that assumes convexity is sound More than a dozen of internal evaluation measures exist usually based on the intuition that items in the same cluster should be more similar than items in different clusters 115 121 For example the following methods can be used to assess the quality of clustering algorithms based on internal criterion Davies Bouldin indexThe Davies Bouldin index can be calculated by the following formula DB 1n i 1nmaxj i si sjd ci cj displaystyle DB frac 1 n sum i 1 n max j neq i left frac sigma i sigma j d c i c j right dd where n is the number of clusters ci displaystyle c i is the centroid of cluster i displaystyle i si displaystyle sigma i is the average distance of all elements in cluster i displaystyle i to centroid ci displaystyle c i and d ci cj displaystyle d c i c j is the distance between centroids ci displaystyle c i and cj displaystyle c j Since algorithms that produce clusters with low intra cluster distances high intra cluster similarity and high inter cluster distances low inter cluster similarity will have a low Davies Bouldin index the clustering algorithm that produces a collection of clusters with the smallest Davies Bouldin index is considered the best algorithm based on this criterion Dunn indexThe Dunn index aims to identify dense and well separated clusters It is defined as the ratio between the minimal inter cluster distance to maximal intra cluster distance For each cluster partition the Dunn index can be calculated by the following formula D min1 i lt j nd i j max1 k nd k displaystyle D frac min 1 leq i lt j leq n d i j max 1 leq k leq n d prime k dd where d i j represents the distance between clusters i and j and d k measures the intra cluster distance of cluster k The inter cluster distance d i j between two clusters may be any number of distance measures such as the distance between the centroids of the clusters Similarly the intra cluster distance d k may be measured in a variety of ways such as the maximal distance between any pair of elements in cluster k Since internal criterion seek clusters with high intra cluster similarity and low inter cluster similarity algorithms that produce clusters with high Dunn index are more desirable Silhouette coefficientThe silhouette coefficient contrasts the average distance to elements in the same cluster with the average distance to elements in other clusters Objects with a high silhouette value are considered well clustered objects with a low value may be outliers This index works well with k means clustering and is also used to determine the optimal number of clusters External evaluation In external evaluation clustering results are evaluated based on data that was not used for clustering such as known class labels and external benchmarks Such benchmarks consist of a set of pre classified items and these sets are often created by expert humans Thus the benchmark sets can be thought of as a gold standard for evaluation These types of evaluation methods measure how close the clustering is to the predetermined benchmark classes However it has recently been discussed whether this is adequate for real data or only on synthetic data sets with a factual ground truth since classes can contain internal structure the attributes present may not allow separation of clusters or the classes may contain anomalies Additionally from a knowledge discovery point of view the reproduction of known knowledge may not necessarily be the intended result In the special scenario of constrained clustering where meta information such as class labels is used already in the clustering process the hold out of information for evaluation purposes is non trivial A number of measures are adapted from variants used to evaluate classification tasks In place of counting the number of times a class was correctly assigned to a single data point known as true positives such pair counting metrics assess whether each pair of data points that is truly in the same cluster is predicted to be in the same cluster As with internal evaluation several external evaluation measures exist 125 129 for example Purity Purity is a measure of the extent to which clusters contain a single class Its calculation can be thought of as follows For each cluster count the number of data points from the most common class in said cluster Now take the sum over all clusters and divide by the total number of data points Formally given some set of clusters M displaystyle M and some set of classes D displaystyle D both partitioning N displaystyle N data points purity can be defined as 1N m Mmaxd D m d displaystyle frac 1 N sum m in M max d in D m cap d dd This measure doesn t penalize having many clusters and more clusters will make it easier to produce a high purity A purity score of 1 is always possible by putting each data point in its own cluster Also purity doesn t work well for imbalanced data where even poorly performing clustering algorithms will give a high purity value For example if a size 1000 dataset consists of two classes one containing 999 points and the other containing 1 point then every possible partition will have a purity of at least 99 9 Rand indexThe Rand index computes how similar the clusters returned by the clustering algorithm are to the benchmark classifications It can be computed using the following formula RI TP TNTP FP FN TN displaystyle RI frac TP TN TP FP FN TN dd where TP displaystyle TP is the number of true positives TN displaystyle TN is the number of true negatives FP displaystyle FP is the number of false positives and FN displaystyle FN is the number of false negatives The instances being counted here are the number of correct pairwise assignments That is TP displaystyle TP is the number of pairs of points that are clustered together in the predicted partition and in the ground truth partition FP displaystyle FP is the number of pairs of points that are clustered together in the predicted partition but not in the ground truth partition etc If the dataset is of size N then TP TN FP FN N2 displaystyle TP TN FP FN binom N 2 One issue with the Rand index is that false positives and false negatives are equally weighted This may be an undesirable characteristic for some clustering applications The F measure addresses this concern citation needed as does the chance corrected adjusted Rand index F measureThe F measure can be used to balance the contribution of false negatives by weighting recall through a parameter b 0 displaystyle beta geq 0 Let precision and recall both external evaluation measures in themselves be defined as follows P TPTP FP displaystyle P frac TP TP FP R TPTP FN displaystyle R frac TP TP FN dd where P displaystyle P is the precision rate and R displaystyle R is the recall rate We can calculate the F measure by using the following formula Fb b2 1 P Rb2 P R displaystyle F beta frac beta 2 1 cdot P cdot R beta 2 cdot P R dd When b 0 displaystyle beta 0 F0 P displaystyle F 0 P In other words recall has no impact on the F measure when b 0 displaystyle beta 0 and increasing b displaystyle beta allocates an increasing amount of weight to recall in the final F measure Also TN displaystyle TN is not taken into account and can vary from 0 upward without bound Jaccard indexThe Jaccard index is used to quantify the similarity between two datasets The Jaccard index takes on a value between 0 and 1 An index of 1 means that the two dataset are identical and an index of 0 indicates that the datasets have no common elements The Jaccard index is defined by the following formula J A B A B A B TPTP FP FN displaystyle J A B frac A cap B A cup B frac TP TP FP FN dd This is simply the number of unique elements common to both sets divided by the total number of unique elements in both sets Note that TN displaystyle TN is not taken into account Dice indexThe Dice symmetric measure doubles the weight on TP displaystyle TP while still ignoring TN displaystyle TN DSC 2TP2TP FP FN displaystyle DSC frac 2TP 2TP FP FN dd Fowlkes Mallows indexThe Fowlkes Mallows index computes the similarity between the clusters returned by the clustering algorithm and the benchmark classifications The higher the value of the Fowlkes Mallows index the more similar the clusters and the benchmark classifications are It can be computed using the following formula FM TPTP FP TPTP FN displaystyle FM sqrt frac TP TP FP cdot frac TP TP FN dd where TP displaystyle TP is the number of true positives FP displaystyle FP is the number of false positives and FN displaystyle FN is the number of false negatives The FM displaystyle FM index is the geometric mean of the precision and recall P displaystyle P and R displaystyle R and is thus also known as the G measure while the F measure is their harmonic mean Moreover precision and recall are also known as Wallace s indices BI displaystyle B I and BII displaystyle B II Chance normalized versions of recall precision and G measure correspond to Informedness Markedness and Matthews Correlation and relate strongly to Kappa Chi Index is an external validation index that measure the clustering results by applying the chi squared statistic This index scores positively the fact that the labels are as sparse as possible across the clusters i e that each cluster has as few different labels as possible The higher the value of the Chi Index the greater the relationship between the resulting clusters and the label used The mutual information is an information theoretic measure of how much information is shared between a clustering and a ground truth classification that can detect a non linear similarity between two clusterings Normalized mutual information is a family of corrected for chance variants of this that has a reduced bias for varying cluster numbers Confusion matrixA confusion matrix can be used to quickly visualize the results of a classification or clustering algorithm It shows how different a cluster is from the gold standard cluster Cluster tendency To measure cluster tendency is to measure to what degree clusters exist in the data to be clustered and may be performed as an initial test before attempting clustering One way to do this is to compare the data against random data On average random data should not have clusters Hopkins statisticThere are multiple formulations of the Hopkins statistic A typical one is as follows Let X displaystyle X be the set of n displaystyle n data points in d displaystyle d dimensional space Consider a random sample without replacement of m n displaystyle m ll n data points with members xi displaystyle x i Also generate a set Y displaystyle Y of m displaystyle m uniformly randomly distributed data points Now define two distance measures ui displaystyle u i to be the distance of yi Y displaystyle y i in Y from its nearest neighbor in X and wi displaystyle w i to be the distance of xi X displaystyle x i in X from its nearest neighbor in X We then define the Hopkins statistic as H i 1muid i 1muid i 1mwid displaystyle H frac sum i 1 m u i d sum i 1 m u i d sum i 1 m w i d dd With this definition uniform random data should tend to have values near to 0 5 and clustered data should tend to have values nearer to 1 However data containing just a single Gaussian will also score close to 1 as this statistic measures deviation from a uniform distribution not multimodality making this statistic largely useless in application as real data never is remotely uniform ApplicationsThis section needs additional citations for verification Please help improve this article by adding citations to reliable sources in this section Unsourced material may be challenged and removed November 2016 Learn how and when to remove this message Biology computational biology and bioinformatics Plant and animal ecology Cluster analysis is used to describe and to make spatial and temporal comparisons of communities assemblages of organisms in heterogeneous environments It is also used in plant systematics to generate artificial phylogenies or clusters of organisms individuals at the species genus or higher level that share a number of attributes Transcriptomics Clustering is used to build groups of genes with related expression patterns also known as coexpressed genes as in HCS clustering algorithm Often such groups contain functionally related proteins such as enzymes for a specific pathway or genes that are co regulated High throughput experiments using expressed sequence tags ESTs or DNA microarrays can be a powerful tool for genome annotation a general aspect of genomics Sequence analysis Sequence clustering is used to group homologous sequences into gene families This is a very important concept in bioinformatics and evolutionary biology in general See evolution by gene duplication High throughput genotyping platforms Clustering algorithms are used to automatically assign genotypes Human genetic clustering The similarity of genetic data is used in clustering to infer population structures Medicine Medical imaging On PET scans cluster analysis can be used to differentiate between different types of tissue in a three dimensional image for many different purposes Analysis of antimicrobial activity Cluster analysis can be used to analyse patterns of antibiotic resistance to classify antimicrobial compounds according to their mechanism of action to classify antibiotics according to their antibacterial activity IMRT segmentation Clustering can be used to divide a fluence map into distinct regions for conversion into deliverable fields in MLC based Radiation Therapy Business and marketing Market research Cluster analysis is widely used in market research when working with multivariate data from surveys and test panels Market researchers use cluster analysis to partition the general population of consumers into market segments and to better understand the relationships between different groups of consumers potential customers and for use in market segmentation product positioning new product development and selecting test markets Grouping of shopping items Clustering can be used to group all the shopping items available on the web into a set of unique products For example all the items on eBay can be grouped into unique products eBay does not have the concept of a SKU World Wide Web Social network analysis In the study of social networks clustering may be used to recognize communities within large groups of people Search result grouping In the process of intelligent grouping of the files and websites clustering may be used to create a more relevant set of search results compared to normal search engines like Google citation needed There are currently a number of web based clustering tools such as Clusty It also may be used to return a more comprehensive set of results in cases where a search term could refer to vastly different things Each distinct use of the term corresponds to a unique cluster of results allowing a ranking algorithm to return comprehensive results by picking the top result from each cluster Slippy map optimization Flickr s map of photos and other map sites use clustering to reduce the number of markers on a map citation needed This makes it both faster and reduces the amount of visual clutter Computer science Software evolution Clustering is useful in software evolution as it helps to reduce legacy properties in code by reforming functionality that has become dispersed It is a form of restructuring and hence is a way of direct preventative maintenance Image segmentation Clustering can be used to divide a digital image into distinct regions for border detection or object recognition Evolutionary algorithms Clustering may be used to identify different niches within the population of an evolutionary algorithm so that reproductive opportunity can be distributed more evenly amongst the evolving species or subspecies Recommender systems Recommender systems are designed to recommend new items based on a user s tastes They sometimes use clustering algorithms to predict a user s preferences based on the preferences of other users in the user s cluster Markov chain Monte Carlo methods Clustering is often utilized to locate and characterize extrema in the target distribution Anomaly detection Anomalies outliers are typically be it explicitly or implicitly defined with respect to clustering structure in data Natural language processing Clustering can be used to resolve lexical ambiguity DevOps Clustering has been used to analyse the effectiveness of DevOps teams Social science Sequence analysis in social sciences Cluster analysis is used to identify patterns of family life trajectories professional careers and daily or weekly time use for example Crime analysis Cluster analysis can be used to identify areas where there are greater incidences of particular types of crime By identifying these distinct areas or hot spots where a similar crime has happened over a period of time it is possible to manage law enforcement resources more effectively Educational data mining Cluster analysis is for example used to identify groups of schools or students with similar properties Typologies From poll data projects such as those undertaken by the Pew Research Center use cluster analysis to discern typologies of opinions habits and demographics that may be useful in politics and marketing Others Field robotics Clustering algorithms are used for robotic situational awareness to track objects and detect outliers in sensor data Mathematical chemistry To find structural similarity etc for example 3000 chemical compounds were clustered in the space of 90 topological indices Climatology To find weather regimes or preferred sea level pressure atmospheric patterns Finance Cluster analysis has been used to cluster stocks into sectors Petroleum geology Cluster analysis is used to reconstruct missing bottom hole core data or missing log curves in order to evaluate reservoir properties Geochemistry The clustering of chemical properties in different sample locations See alsoWikimedia Commons has media related to Cluster analysis Specialized types of cluster analysis Automatic clustering algorithms Balanced clustering Clustering high dimensional data Conceptual clustering Consensus clustering Constrained clustering Community detection Data stream clustering HCS clustering Sequence clustering Spectral clusteringTechniques used in cluster analysis Artificial neural network ANN Nearest neighbor search Neighbourhood components analysis Latent class analysis Affinity propagationData projection and preprocessing Dimension reduction Principal component analysis Multidimensional scalingOther Cluster weighted modeling Curse of dimensionality Determining the number of clusters in a data set Parallel coordinates Structured data analysis Linear separabilityReferencesDriver and Kroeber 1932 Quantitative Expression of Cultural Relationships University of California Publications in American Archaeology and Ethnology Quantitative Expression of Cultural Relationships Berkeley CA University of California Press 211 256 Archived from the original on 2020 12 06 Retrieved 2019 02 18 Zubin Joseph 1938 A technique for measuring like mindedness The Journal of Abnormal and Social Psychology 33 4 508 516 doi 10 1037 h0055441 ISSN 0096 851X Tryon Robert C 1939 Cluster Analysis Correlation Profile and Orthometric factor Analysis for the Isolation of Unities in Mind and Personality Edwards Brothers Cattell R B 1943 The description of personality Basic traits resolved into clusters Journal of Abnormal and Social Psychology 38 4 476 506 doi 10 1037 h0054116 Estivill Castro Vladimir 20 June 2002 Why so many clustering algorithms A Position Paper ACM SIGKDD Explorations Newsletter 4 1 65 75 doi 10 1145 568574 568575 S2CID 7329935 James A Davis May 1967 Clustering and structural balance in graphs Human Relations 20 181 7 Kleinberg Jon 2002 An Impossibility Theorem for Clustering PDF Advances in Neural Information Processing Systems Vol 15 MIT Press Gao Caroline X Dwyer Dominic Zhu Ye Smith Catherine L Du Lan Filia Kate M Bayer Johanna Menssink Jana M Wang Teresa Bergmeir Christoph Wood Stephen Cotton Sue M 2023 09 01 An overview of clustering methods with guidelines for application in mental health research Psychiatry Research 327 115265 doi 10 1016 j psychres 2023 115265 hdl 10481 84538 ISSN 0165 1781 Everitt Brian 2011 Cluster analysis Chichester West Sussex U K Wiley ISBN 9780470749913 Sibson R 1973 SLINK an optimally efficient algorithm for the single link cluster method PDF The Computer Journal 16 1 British Computer Society 30 34 doi 10 1093 comjnl 16 1 30 Defays D 1977 An efficient algorithm for a complete link method The Computer Journal 20 4 British Computer Society 364 366 doi 10 1093 comjnl 20 4 364 Lloyd S 1982 Least squares quantization in PCM IEEE Transactions on Information Theory 28 2 129 137 doi 10 1109 TIT 1982 1056489 S2CID 10833328 Kriegel Hans Peter Kroger Peer Sander Jorg Zimek Arthur 2011 Density based Clustering WIREs Data Mining and Knowledge Discovery 1 3 231 240 doi 10 1002 widm 30 S2CID 36920706 Microsoft academic search most cited data mining articles Archived 2010 04 21 at the Wayback Machine DBSCAN is on rank 24 when accessed on 4 18 2010 Ester Martin Kriegel Hans Peter Sander Jorg Xu Xiaowei 1996 A density based algorithm for discovering clusters in large spatial databases with noise In Simoudis Evangelos Han Jiawei Fayyad Usama M eds Proceedings of the Second International Conference on Knowledge Discovery and Data Mining KDD 96 AAAI Press pp 226 231 ISBN 1 57735 004 9 Ankerst Mihael Breunig Markus M Kriegel Hans Peter Sander Jorg 1999 OPTICS Ordering Points To Identify the Clustering Structure ACM SIGMOD international conference on Management of data ACM Press pp 49 60 CiteSeerX 10 1 1 129 6542 Achtert E Bohm C Kroger P 2006 DeLi Clu Boosting Robustness Completeness Usability and Efficiency of Hierarchical Clustering by a Closest Pair Ranking Advances in Knowledge Discovery and Data Mining Lecture Notes in Computer Science Vol 3918 pp 119 128 CiteSeerX 10 1 1 64 1161 doi 10 1007 11731139 16 ISBN 978 3 540 33206 0 Aggarwal Charu C Reddy Chandan K eds Data Clustering Algorithms and Applications ISBN 978 1 315 37351 5 OCLC 1110589522 Sculley D 2010 Web scale k means clustering Proc 19th WWW Huang Z 1998 Extensions to the k means algorithm for clustering large data sets with categorical values Data Mining and Knowledge Discovery 2 3 283 304 doi 10 1023 A 1009769707641 S2CID 11323096 R Ng and J Han Efficient and effective clustering method for spatial data mining In Proceedings of the 20th VLDB Conference pages 144 155 Santiago Chile 1994 Tian Zhang Raghu Ramakrishnan Miron Livny An Efficient Data Clustering Method for Very Large Databases In Proc Int l Conf on Management of Data ACM SIGMOD pp 103 114 Kriegel Hans Peter Kroger Peer Zimek Arthur July 2012 Subspace clustering Wiley Interdisciplinary Reviews Data Mining and Knowledge Discovery 2 4 351 364 doi 10 1002 widm 1057 S2CID 7241355 Agrawal R Gehrke J Gunopulos D Raghavan P 2005 Automatic Subspace Clustering of High Dimensional Data Data Mining and Knowledge Discovery 11 5 33 CiteSeerX 10 1 1 131 5152 doi 10 1007 s10618 005 1396 1 S2CID 9289572 Karin Kailing Hans Peter Kriegel and Peer Kroger Density Connected Subspace Clustering for High Dimensional Data In Proc SIAM Int Conf on Data Mining SDM 04 pp 246 257 2004 Achtert E Bohm C Kriegel H P Kroger P Muller Gorman I Zimek A 2006 Finding Hierarchies of Subspace Clusters Knowledge Discovery in Databases PKDD 2006 Lecture Notes in Computer Science Vol 4213 pp 446 453 CiteSeerX 10 1 1 705 2956 doi 10 1007 11871637 42 ISBN 978 3 540 45374 1 Achtert E Bohm C Kriegel H P Kroger P Muller Gorman I Zimek A 2007 Detection and Visualization of Subspace Cluster Hierarchies Advances in Databases Concepts Systems and Applications Lecture Notes in Computer Science Vol 4443 pp 152 163 CiteSeerX 10 1 1 70 7843 doi 10 1007 978 3 540 71703 4 15 ISBN 978 3 540 71702 7 Achtert E Bohm C Kroger P Zimek A 2006 Mining Hierarchies of Correlation Clusters 18th International Conference on Scientific and Statistical Database Management SSDBM 06 pp 119 128 CiteSeerX 10 1 1 707 7872 doi 10 1109 SSDBM 2006 35 ISBN 978 0 7695 2590 7 S2CID 2679909 Bohm C Kailing K Kroger P Zimek A 2004 Computing Clusters of Correlation Connected objects Proceedings of the 2004 ACM SIGMOD international conference on Management of data SIGMOD 04 p 455 CiteSeerX 10 1 1 5 1279 doi 10 1145 1007568 1007620 ISBN 978 1581138597 S2CID 6411037 Achtert E Bohm C Kriegel H P Kroger P Zimek A 2007 On Exploring Complex Relationships of Correlation Clusters 19th International Conference on Scientific and Statistical Database Management SSDBM 2007 p 7 CiteSeerX 10 1 1 71 5021 doi 10 1109 SSDBM 2007 21 ISBN 978 0 7695 2868 7 S2CID 1554722 Meilă Marina 2003 Comparing Clusterings by the Variation of Information Learning Theory and Kernel Machines Lecture Notes in Computer Science Vol 2777 pp 173 187 doi 10 1007 978 3 540 45167 9 14 ISBN 978 3 540 40720 1 Kraskov Alexander Stogbauer Harald Andrzejak Ralph G Grassberger Peter 1 December 2003 Hierarchical Clustering Based on Mutual Information arXiv q bio 0311039 Bibcode 2003q bio 11039K a href wiki Template Cite journal title Template Cite journal cite journal a Cite journal requires journal help Auffarth B July 18 23 2010 Clustering by a Genetic Algorithm with Biased Mutation Operator Wcci Cec IEEE Frey B J Dueck D 2007 Clustering by Passing Messages Between Data Points Science 315 5814 972 976 Bibcode 2007Sci 315 972F CiteSeerX 10 1 1 121 3145 doi 10 1126 science 1136800 PMID 17218491 S2CID 6502291 Pfitzner Darius Leibbrandt Richard Powers David 2009 Characterization and evaluation of similarity measures for pairs of clusterings Knowledge and Information Systems 19 3 Springer 361 394 doi 10 1007 s10115 008 0150 6 S2CID 6935380 Feldman Ronen Sanger James 2007 01 01 The Text Mining Handbook Advanced Approaches in Analyzing Unstructured Data Cambridge Univ Press ISBN 978 0521836579 OCLC 915286380 Weiss Sholom M Indurkhya Nitin Zhang Tong Damerau Fred J 2005 Text Mining Predictive Methods for Analyzing Unstructured Information Springer ISBN 978 0387954332 OCLC 803401334 Manning Christopher D Raghavan Prabhakar Schutze Hinrich 2008 07 07 Introduction to Information Retrieval Cambridge University Press ISBN 978 0 521 86571 5 Knowledge Discovery in Databases Part III Clustering PDF Heidelberg University 2017 a href wiki Template Citation title Template Citation citation a CS1 maint location missing publisher link Dunn J 1974 Well separated clusters and optimal fuzzy partitions Journal of Cybernetics 4 95 104 doi 10 1080 01969727408546059 Peter J Rousseeuw 1987 Silhouettes A graphical aid to the interpretation and validation of cluster analysis Journal of Computational and Applied Mathematics 20 53 65 doi 10 1016 0377 0427 87 90125 7 Farber Ines Gunnemann Stephan Kriegel Hans Peter Kroger Peer Muller Emmanuel Schubert Erich Seidl Thomas Zimek Arthur 2010 On Using Class Labels in Evaluation of Clusterings PDF In Fern Xiaoli Z Davidson Ian Dy Jennifer eds MultiClust Discovering Summarizing and Using Multiple Clusterings ACM SIGKDD Pourrajabi M Moulavi D Campello R J G B Zimek A Sander J Goebel R 2014 Model Selection for Semi Supervised Clustering Proceedings of the 17th International Conference on Extending Database Technology EDBT pp 331 342 doi 10 5441 002 edbt 2014 31 Rand W M 1971 Objective criteria for the evaluation of clustering methods Journal of the American Statistical Association 66 336 American Statistical Association 846 850 arXiv 1704 01036 doi 10 2307 2284239 JSTOR 2284239 Fowlkes E B Mallows C L 1983 A Method for Comparing Two Hierarchical Clusterings Journal of the American Statistical Association 78 383 553 569 doi 10 1080 01621459 1983 10478008 JSTOR 2288117 Powers David 2003 Recall and Precision versus the Bookmaker International Conference on Cognitive Science pp 529 534 Arabie P 1985 Comparing partitions Journal of Classification 2 1 1985 doi 10 1007 BF01908075 S2CID 189915041 Wallace D L 1983 Comment Journal of the American Statistical Association 78 383 569 579 doi 10 1080 01621459 1983 10478009 Powers David 2012 The Problem with Kappa European Chapter of the Association for Computational Linguistics pp 345 355 Luna Romera Jose Maria Martinez Ballesteros Maria Garcia Gutierrez Jorge Riquelme Jose C June 2019 External clustering validity index based on chi squared statistical test Information Sciences 487 1 17 doi 10 1016 j ins 2019 02 046 hdl 11441 132081 S2CID 93003939 Hopkins Brian Skellam John Gordon 1954 A new method for determining the type of distribution of plant individuals Annals of Botany 18 2 Annals Botany Co 213 227 doi 10 1093 oxfordjournals aob a083391 Banerjee A 2004 Validating clusters using the Hopkins statistic 2004 IEEE International Conference on Fuzzy Systems IEEE Cat No 04CH37542 Vol 1 pp 149 153 doi 10 1109 FUZZY 2004 1375706 ISBN 978 0 7803 8353 1 S2CID 36701919 Johnson Stephen C 1967 09 01 Hierarchical clustering schemes Psychometrika 32 3 241 254 doi 10 1007 BF02289588 ISSN 1860 0980 PMID 5234703 S2CID 930698 Hartuv Erez Shamir Ron 2000 12 31 A clustering algorithm based on graph connectivity Information Processing Letters 76 4 175 181 doi 10 1016 S0020 0190 00 00142 3 ISSN 0020 0190 Remm Maido Storm Christian E V Sonnhammer Erik L L 2001 12 14 Automatic clustering of orthologs and in paralogs from pairwise species comparisons11Edited by F Cohen Journal of Molecular Biology 314 5 1041 1052 doi 10 1006 jmbi 2000 5197 ISSN 0022 2836 PMID 11743721 Botstein David Cox David R Risch Neil Olshen Richard Curb David Dzau Victor J Chen Yii Der I Hebert Joan Pesich Robert 2001 07 01 High Throughput Genotyping with Single Nucleotide Polymorphisms Genome Research 11 7 1262 1268 doi 10 1101 gr 157801 ISSN 1088 9051 PMC 311112 PMID 11435409 Filipovych Roman Resnick Susan M Davatzikos Christos 2011 Semi supervised Cluster Analysis of Imaging Data NeuroImage 54 3 2185 2197 doi 10 1016 j neuroimage 2010 09 074 PMC 3008313 PMID 20933091 Di Marco Antonio Navigli Roberto 2013 Clustering and Diversifying Web Search Results with Graph Based Word Sense Induction Computational Linguistics 39 3 709 754 doi 10 1162 COLI a 00148 S2CID 1775181 Bewley A amp Upcroft B 2013 Advantages of Exploiting Projection Structure for Segmenting Dense 3D Point Clouds In Australian Conference on Robotics and Automation 1 2022 Accelerate State of DevOps Report PDF Report Google Cloud s DevOps Research and Assessment DORA 29 September 2022 pp 8 14 74 Bewley A et al Real time volume estimation of a dragline payload IEEE International Conference on Robotics and Automation 2011 1571 1576 Basak S C Magnuson V R Niemi C J Regal R R 1988 Determining Structural Similarity of Chemicals Using Graph Theoretic Indices Discr Appl Math 19 1 3 17 44 doi 10 1016 0166 218x 88 90004 2 Huth R et al 2008 Classifications of Atmospheric Circulation Patterns Recent Advances and Applications PDF Ann N Y Acad Sci 1146 1 105 152 Bibcode 2008NYASA1146 105H doi 10 1196 annals 1446 019 PMID 19076414 S2CID 22655306 Arnott Robert D 1980 11 01 Cluster Analysis and Stock Price Comovement Financial Analysts Journal 36 6 56 62 doi 10 2469 faj v36 n6 56 ISSN 0015 198X