Cluster analysis

| Part of a series on |
| Machine learning and data mining |
|---|
Cluster analysis, or clustering, is a data analysis technique aimed at partitioning a set of objects into groups such that objects within the same group (called a cluster) exhibit greater similarity to one another (in some specific sense defined by the analyst) 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.
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[1] and introduced to psychology by Joseph Zubin in 1938[2] and Robert Tryon in 1939[3] and famously used by Cattell beginning in 1943[4] for trait theory classification in personality psychology.
Definition
[edit]The notion of a "cluster" cannot be precisely defined, which is one of the reasons why there are so many clustering algorithms.[5] 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, OPTICS and HDBSCAN 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.[6]
- 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
[edit]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."[5] 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.[7] 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.[5] For example, k-means cannot find non-convex clusters.[5] Most traditional clustering methods assume the clusters exhibit a spherical, elliptical or convex shape.[8]
Connectivity-based clustering (hierarchical clustering)
[edit]Connectivity-based clustering, also known as hierarchical clustering, is based on the idea that objects are more related to nearby objects than to those farther away. These algorithms form clusters by connecting objects based on their distance. A cluster can be understood in terms of the maximum distance required to connect its elements.
At different distance thresholds, different cluster groupings appear. These groupings can be visualized using a dendrogram, a tree-like diagram that shows how clusters merge as the distance increases. This explains the term "hierarchical clustering": instead of producing a single partition of the data set, the algorithm builds a hierarchy of clusters that merge at different distances. In a dendrogram, the y-axis shows the distance at which clusters merge, while the x-axis arranges objects so that clusters appear as continuous branches.
Connectivity-based clustering is a family of methods that differ in how distances between clusters are computed. In addition to choosing a distance function, the user must also select a linkage criterion, which determines how the distance between clusters is calculated. Common linkage criteria include single-linkage clustering (minimum distance between points), complete linkage clustering (maximum distance), and UPGMA or WPGMA (average linkage based on mean distances). Hierarchical clustering can be either agglomerative (starting with individual elements and merging them) or divisive (starting with the full data set and splitting it).
In agglomerative hierarchical clustering, the algorithm typically proceeds as follows:
- Start with each data point as its own cluster.
- Identify the two closest clusters based on a chosen distance measure.
- Merge them into a single cluster.
- Recalculate distances between the new cluster and the remaining clusters using the selected linkage criterion.
- Repeat until all data points are merged into a single cluster.[9]
This process produces a full hierarchy of possible clusterings rather than a single final result. A specific clustering can be obtained by selecting a cut level in the dendrogram, which determines how many clusters are formed.
These methods do not produce a unique partitioning of the data set, but rather a hierarchy from which the user must choose appropriate clusters. They are also sensitive to outliers, which may appear as separate clusters or cause other clusters to merge. This effect, especially in single-linkage clustering, is known as the "chaining phenomenon". In the general case, the complexity is for agglomerative clustering and for divisive clustering,[10] which makes them computationally expensive for large data sets. For some special cases, more efficient methods (with complexity ) are known, such as SLINK[11] for single-linkage and CLINK[12] 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
[edit]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,[13] 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; often yielding improperly cut borders of clusters. This happens primarily because the algorithm optimizes cluster centers, not cluster borders. Steps involved in the centroid-based clustering algorithm are:
- Choose, k distinct clusters at random. These are the initial centroids to be improved upon.
- Suppose a set of observations, (x1, x2, ..., xn). Assign each observation to the centroid to which it has the smallest squared Euclidean distance. This results in k distinct groups, each containing unique observations.
- Recalculate centroids (see k-means clustering).
- Exit iff the new centroids are equivalent to the previous iteration's centroids. Else, repeat the algorithm, the centroids have yet to converge.
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.
The following pseudocode[14] describes the standard iterative refinement form of k-means. The algorithm alternates between an assignment step, which labels each point by its nearest centroid, and an update step, which recomputes each centroid as the mean of its assigned points. Convergence is guaranteed in a finite number of iterations, though the result may be a local optimum.
input: dataset , initializations for centroids , maximum number of iterations for # Cluster assignments for # Update centroid locations for # Update cluster assignments using final for output: optimal centroids and assignments [14]
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
[edit]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
[edit]In density-based clustering,[15] 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[16] density-based clustering method is DBSCAN.[17] 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[18] 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,[19] 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. HDBSCAN[20] extends DBSCAN by converting it into a hierarchical clustering algorithm, and then using a technique to extract a flat clustering based in the stability of clusters.
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.[19]
- 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
[edit]The grid-based technique is used for a multi-dimensional data set.[21] 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 the 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.
Big data
[edit]With the increasing need to process Big data, the willingness to trade semantic meaning of the generated clusters for performance becomes more relevant. Therefore, efforts have been put into improving the performance of existing algorithms.[22][23] Among them are CLARANS,[24] and BIRCH.[25] 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.
Subspace clustering
[edit]For high-dimensional data, many methods fail due to the curse of dimensionality, which renders particular distance functions problematic in high-dimensional spaces. This led to 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.[26] Examples for such clustering algorithms are CLIQUE[27] and SUBCLU.[28]
Ideas from density-based clustering methods (in particular the DBSCAN/OPTICS family of algorithms) have been adapted to subspace clustering (HiSC,[29] hierarchical subspace clustering and DiSH[30]) and correlation clustering (HiCO,[31] hierarchical correlation clustering, 4C[32] using "correlation connectivity" and ERiC[33] 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;[34] another provides hierarchical clustering.[35] Using genetic algorithms, a wide range of different fit-functions can be optimized, including mutual information.[36] Also belief propagation, a recent development in computer science and statistical physics, has led to the creation of new types of clustering algorithms.[37]
Evaluation and assessment
[edit]Evaluation (or "validation") of clustering results is as difficult as the clustering itself.[38] 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.[39]
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,[39] 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,[39] which is highly subjective. Nevertheless, such statistics can be quite informative in identifying bad clusterings,[40] but one should not dismiss subjective human evaluation.[40]
Internal evaluation
[edit]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.[41] 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.[5] 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.[5] 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.
Many internal evaluation measures are based on the intuition that items in the same cluster should be more similar than items in different clusters.[42]: 115–121 For example, the following methods can be used to assess the quality of clustering algorithms based on internal criterion:
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.
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:[43]
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.
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.[44]
Area Under the Curve for Clustering (AUCC)
This matrix consider pairs of objects: the distance between the pair as a scoring function and the particion pairs defined true positive, true negatives, false negatives and true negatives by considering if pairs are in the same clusters of not. This index borrow the same characteristics as the AUC in the supervised scenario including an expected value of 0.5 and vizualisation of results[45].
External evaluation
[edit]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.[38] 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.[46] Additionally, from a knowledge discovery point of view, the reproduction of known knowledge may not necessarily be the intended result.[46] 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.[47]
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.[38]
As with internal evaluation, several external evaluation measures exist,[42]: 125–129 for example:
Purity
[edit]Purity is a measure of the extent to which clusters contain a single class.[41] 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%.
The Rand index[48] 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.
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:[41] 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.
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.
The Dice symmetric measure doubles the weight on while still ignoring :
The Fowlkes–Mallows index[49] 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.[50][51] Moreover, precision and recall are also known as Wallace's indices and .[52] Chance normalized versions of recall, precision and G-measure correspond to Informedness, Markedness and Matthews Correlation and relate strongly to Kappa.[53]
Chi index
[edit]The Chi index[54] 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 clustering. Normalized mutual information is a family of corrected-for-chance variants of this that has a reduced bias for varying cluster numbers.[38]
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.
Validity measure
[edit]The validity measure (short v-measure) is a combined metric for homogeneity and completeness of the clusters[55]
Cluster tendency
[edit]This section needs additional citations for verification. (April 2025) |
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 [verification needed].
- There are multiple formulations of the Hopkins statistic.[56] A typical one is as follows.[57] 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
[edit]Cluster analysis is used for data analysis across a wide range of fields.
Natural Sciences
[edit]In the natural sciences, techniques such as hierarchical clustering, k-means,dimensionality reduction, principal component analysis (PCA), and t-SNE are frequently used to make sense of the dense data.

- Plant and Animal Ecology
- Cluster analysis is used to describe and compare communities of organisms across heterogeneous environments. It is also widely used in plant systematics to generate artificial phylogenies clusters of organisms that share similar attributes.
- Transcriptomics
- Clustering is used to build groups of genes with related expression patterns, such as the HCS clustering algorithm.[58][59] Such clusters often contain related proteins, such as enzymes for a specific metabolic pathway, or co-regulated genes. This helps inform scientists about previously unknown similarities between genes.
- Sequence analysis
- Sequence clustering is used to group sequences into gene families.[60] This is a foundational concept in bioinformatics and evolutionary biology.
- Human genetic clustering
- In population genetics and genomic epidemiology, the similarities between genetic datasets are used to inform population structures.
Medicine and Medical Data
[edit]
- Medical imaging
- On PET scans, cluster analysis can be used to differentiate between different types of tissue in three-dimensional images for a wide range of diagnostic purposes.[61] It is equally important in MRI analysis and histopathology, where automated segmentation of these regions reduces the burden of manual annotation.
Climate and Earth Sciences
[edit]
- Climate
- Clustering is used to find weather regimes and atmospheric patterns, helping meteorologists categorize large scale weather circulation as well as study the effect that climate variability has on regional weather.[62]
- Geochemistry & Petroleum Geology
- The spatial clustering of chemical properties across different sampling locations helps geochemists identify mineralization zones, pollution plumes, and geological boundaries.[63]
- Mathematical chemistry
- Clustering assists in structural similarity among chemical compounds. topological indices.[64]
Data Science and Technology
[edit]In computing and technology applications, clustering is the driving force behind machine learning's unsupervised learning, and is embedded in systems ranging from search engines to recommendation platforms. Common algorithms in this field include k-means, DBSCAN, mean shift, and spectral clustering, often applied after feature extraction or embedding, which are steps that map raw data, such as text, images, sensor logs, into a vector space amenable to distance based grouping.[65]

Machine Learning and Pattern Recognition
[edit]- Image segmentation
- Image segmentation is the process of partitioning a digital image into multiple meaningful regions so that pixels with similar attributes — color, intensity, or texture — are grouped together. This simplifies analysis and supports downstream tasks such as object detection and scene understanding, with applications in medical imaging, computer vision, satellite imaging, and everyday tools like face detection and photo editing.
- Anomaly detection
- Anomalies and outliers are typically defined with respect to the clustering structure of a dataset — points that fall far from any established cluster are flagged as unusual. This makes clustering central to intrusion detection, fraud detection, and industrial fault monitoring.
- Markov chain Monte Carlo methods
- Clustering is utilized to locate and characterize extrema in the target distribution, supporting more efficient sampling in high-dimensional probabilistic inference.
- Field robotics
- Clustering algorithms support robotic situational awareness, enabling robots to track objects and detect outliers in real-time sensor data streams.[66]
Document and Text Clustering
[edit]
- Natural language processing
- Clustering can resolve lexical ambiguity[67] and automatically organise large corpora of unstructured text into topically coherent groups — a process known as document clustering. Applications include news aggregation, customer feedback analysis, and automated literature review.
- DevOps
- Clustering has been used to analyze the effectiveness of DevOps teams and to group deployment pipelines by performance characteristics.[68]
The World Wide Web and Networks
[edit]
- Social Network Analysis
- In the study of social networks, clustering is used to identify communities within large groups of people — revealing echo chambers, influence hubs, and organic interest groups that would be opaque in a simple follower graph.
- Search Result Grouping
- Clustering can create a more relevant set of search results than traditional ranked lists, particularly when a search term is ambiguous.[67] Take for instance 'apple' which can refer to both apple or Apple Inc. Web-based clustering tools such as Clusty group results by distinct meanings, allowing a ranking algorithm to return comprehensive coverage by picking the top result from each cluster.
- Recommender Systems
- Recommender systems use clustering to predict a user's unknown preferences by analyzing the tastes and activities of similar users within the same cluster.
Business, Economics, and Social Sciences
[edit]In business and the social sciences, clustering is most often applied to tabular survey and transaction data, where the aim is to segment populations into consumer groups, create detailed market analysis insights, or illustrate voter preferences.
Business and Economics
[edit]- Finance
- Cluster analysis has been used to group stocks into sectors based on return co-movement, supporting portfolio construction and risk management.[70] It is also applied in credit risk modeling to group borrowers with similar risk profiles and in algorithmic trading to identify regime shifts in market behavior.
- Market research
- Cluster analysis is widely used in market research when working with multivariate data from surveys and test panels. Market researchers use it to partition the general population of consumers into market segments, illuminating relationships between different consumer groups for use in product positioning, new product development, and test market selection.[71]
- Grouping of shopping items
- Clustering can group the vast array of shopping items on the web into sets of unique products. For example, all items on eBay can be clustered into unique products sections, such as home goods or clothing.
Social Sciences
[edit]- Sequence analysis in social sciences
- Cluster analysis is used to identify patterns in family life trajectories, professional careers, and daily or weekly time use, yielding life-course typologies that shed light on social stratification and inequality.
- Crime analysis
- Clustering can identify areas with elevated incidences of particular types of crime. By pinpointing "hot spots" where similar crimes have occurred over time, law enforcement agencies can deploy resources more strategically.[72]
- Educational data mining
- Cluster analysis is used to identify groups of schools or students with similar academic profiles, enabling targeted interventions and more equitable allocation of resources.[73]
- Typologies and opinion research
- Projects such as those undertaken by the Pew Research Center use cluster analysis to discern typologies of opinions, habits, and demographics from poll data, informing both political analysis and strategic communications.
See also
[edit]Specialized types of cluster analysis
[edit]- 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
[edit]- Artificial neural network (ANN)
- Nearest neighbor search
- Neighbourhood components analysis
- Latent class analysis
- Affinity propagation
Data projection and preprocessing
[edit]Other
[edit]- Cluster-weighted modeling
- Curse of dimensionality
- Determining the number of clusters in a data set
- Parallel coordinates
- Structured data analysis
- Linear separability
References
[edit]- ^ 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.
- ^ a b c d e f 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. PMID 37348404.
- ^ Murtagh, Fionn; Contreras, Pedro (2012). "Algorithms for hierarchical clustering: an overview". WIREs Data Mining and Knowledge Discovery. 2 (1): 86–97. doi:10.1002/widm.53.
- ^ 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. Bibcode:1982ITIT...28..129L. doi:10.1109/TIT.1982.1056489. S2CID 10833328.
- ^ a b "11.5 K-means clustering". kenndanielso.github.io. Retrieved 2026-04-20.
- ^ 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.
- ^ a b 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.
- ^ Campello, Ricardo J. G. B.; Moulavi, Davoud; Sander, Joerg (2013). "Density-Based Clustering Based on Hierarchical Density Estimates". In Pei, Jian; Tseng, Vincent S.; Cao, Longbing; Motoda, Hiroshi; Xu, Guandong (eds.). Advances in Knowledge Discovery and Data Mining. Lecture Notes in Computer Science. Vol. 7819. Berlin, Heidelberg: Springer. pp. 160–172. doi:10.1007/978-3-642-37456-2_14. ISBN 978-3-642-37456-2.
- ^ 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.
- ^ 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.
- ^ a b c d 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.
- ^ a b c 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.
- ^ a b 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.
- ^ a b c Manning, Christopher D.; Raghavan, Prabhakar; Schütze, Hinrich (2008-07-07). Introduction to Information Retrieval. Cambridge University Press. ISBN 978-0-521-86571-5.
- ^ a b 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.
- ^ Jaskowiak, Pablo A.; Costa, Ivan G.; Campello, Ricardo J. G. B. (2022-05-01). "The area under the ROC curve as a measure of clustering quality". Data Mining and Knowledge Discovery. 36 (3): 1219–1245. arXiv:2009.02400. doi:10.1007/s10618-022-00829-0. ISSN 1573-756X.
- ^ a b 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. Bibcode:1983JASA...78..553F. 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.
- ^ Rosenberg, Andrew, and Julia Hirschberg. "V-measure: A conditional entropy-based external cluster evaluation measure." Proceedings of the 2007 joint conference on empirical methods in natural language processing and computational natural language learning (EMNLP-CoNLL). 2007. pdf
- ^ 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 comparisons". Journal of Molecular Biology. 314 (5): 1041–1052. doi:10.1006/jmbi.2000.5197. ISSN 0022-2836. PMID 11743721.
- ^ 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.
- ^ 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.
- ^ Sadeghi, Behnam (2025). "Clustering in geo-data science: Navigating uncertainty to select the most reliable method". Ore Geology Reviews. 282.
- ^ 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.
- ^ Clustering Large and High-Dimensional Data.
- ^ Bewley, A.; et al. "Real-time volume estimation of a dragline payload". IEEE International Conference on Robotics and Automation. 2011: 1571–1576.
- ^ a b 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.
- ^ 2022 Accelerate State of DevOps Report (PDF) (Report). Google Cloud's DevOps Research and Assessment (DORA). 29 September 2022. pp. 8, 14, 74.
- ^ Grobe, Mathias; Burghardt, Dirk. "Micro diagrams: visualization of categorical point data from location-based social media". Cartography and Geographic Information Science. doi:10.1080/15230406.2020.1733438.
- ^ 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.
- ^ Reutterer, Thomas; Dan, Daniel. "Cluster Analysis in Marketing Research". Handbook of Market Research. doi:10.1007/978-3-319-05542-8_11-1.
- ^ Keller, Fernando. "A refined k-means clustering approach for optimizing urban police facility placement". Decision Analytics.
- ^ "Classification Technique and its Combination with Clustering and Association Rule Mining in Educational Data Mining — A survey".