{
 "id": "epzs02gkt6",
 "slug": "consensus-clustering",
 "title": "Consensus clustering",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "physical",
   "label": "Physical world and mathematics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical"
  },
  {
   "id": "physical.math",
   "label": "Mathematics and statistics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math"
  },
  {
   "id": "physical.math.statistics",
   "label": "Statistics and probability",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.statistics"
  },
  {
   "id": "physical.math.statistics.multivariate-analysis",
   "label": "Multivariate association and dimension reduction",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.statistics.multivariate-analysis"
  },
  {
   "id": "physical.math.statistics.multivariate-analysis.alpha-a-to-me",
   "label": "Titles A to Me",
   "api_url": "https://www.edgepedia.org/api/v1/topics/physical.math.statistics.multivariate-analysis.alpha-a-to-me"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t1946.physical.math.statistics.multivariate-analysis",
   "label": "Non-geographic · 1946 to 2000: Multivariate association and dimension reduction",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.statistics.multivariate-analysis",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1946",
     "label": "Non-geographic · 1946 to 2000",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946"
    },
    {
     "id": "geo.nongeo.t1946.physical",
     "label": "Physical world and mathematics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical"
    },
    {
     "id": "geo.nongeo.t1946.physical.math",
     "label": "Mathematics and statistics",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math"
    },
    {
     "id": "geo.nongeo.t1946.physical.math.statistics",
     "label": "Statistics and probability",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.statistics"
    },
    {
     "id": "geo.nongeo.t1946.physical.math.statistics.multivariate-analysis",
     "label": "Multivariate association and dimension reduction",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.physical.math.statistics.multivariate-analysis"
    }
   ]
  }
 ],
 "excerpt": "Consensus clustering is a resampling-based clustering method that assesses cluster stability by repeatedly clustering perturbed versions of a dataset, producing a consensus matrix and clustering.",
 "snippet": "Consensus clustering is a resampling-based clustering method that assesses cluster stability by repeatedly clustering perturbed versions of a dataset, producing a consensus matrix and clustering.",
 "node": "physical.math.statistics.multivariate-analysis.alpha-a-to-me",
 "markdown": "# Consensus clustering\n\nConsensus clustering is a resampling-based clustering method that assesses the stability of cluster assignments by repeatedly clustering perturbed versions of a dataset and aggregating the results. Instead of returning a single clustering, it produces a consensus matrix recording how often each pair of items was clustered together, a final consensus clustering derived from that matrix, and diagnostic measures such as the consensus CDF and PAC score that indicate which cluster count is most stable.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup><sup> • </sup><sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup> The method was introduced for gene-expression microarray class discovery and is now widely used in cancer subtyping and single-cell genomics.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup><sup> • </sup><sup>[3](https://www.nature.com/articles/srep06207)</sup>\n\n| Key fact | Detail |\n|---|---|\n| Original paper | Monti, Tamayo, Mesirov, and Golub, Machine Learning 52:91–118, 2003<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup> |\n| Main output | An N × N consensus matrix of pairwise co-clustering frequencies, plus a consensus clustering per K<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup> |\n| Typical resampling | Subsampling without replacement, 80% of items per iteration; Monti used \\( H = 500 \\) iterations<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup> |\n| K-selection metrics | CDF delta-area, Δ(K), and PAC (proportion of ambiguous clustering)<sup>[3](https://www.nature.com/articles/srep06207)</sup><sup> • </sup><sup>[4](https://link.springer.com/article/10.1186/1471-2105-11-590)</sup> |\n| Main R implementations | ConsensusClusterPlus (2010), M3C (2020), clusterCons, ConsensusClustering (2024)<sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup><sup> • </sup><sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup><sup> • </sup><sup>[4](https://link.springer.com/article/10.1186/1471-2105-11-590)</sup><sup> • </sup><sup>[6](https://cran.r-project.org/web/packages/ConsensusClustering/refman/ConsensusClustering.html)</sup> |\n| Known failure modes | Apparent stability on cluster-less data, bias toward higher K, high computational cost<sup>[3](https://www.nature.com/articles/srep06207)</sup><sup> • </sup><sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup> |\n| Practical scale | Reliable on hundreds to about a thousand items; M3C recommended for roughly 60–1000 samples<sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup> |\n\n## How it works\n\nThe method rests on a sampling-variability assumption: if the items are drawn from distinct sub-populations, then a different sample from the same sub-populations should yield clusters of essentially the same composition and number.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup> Re-clustering many perturbed versions of the data therefore measures which assignments survive sampling noise.\n\nThe aggregation is the consensus matrix, an N × N matrix whose entry (i, j) stores the proportion of clustering runs in which items i and j were clustered together, obtained by averaging the connectivity matrices of all perturbed datasets normalized by how often each pair was sampled together.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup><sup> • </sup><sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup> Its empirical cumulative distribution function (CDF) plot, examined alongside the area under the CDF curve across values of K, serves as a stability diagnostic: a plateau in the increase in area suggests a candidate K, though this indicates stability rather than proving that further divisions reflect no real cluster structure.<sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup> The same aggregation logic can also be applied over multiple random restarts of a single algorithm, such as k-means or SOM, to account for sensitivity to initial conditions.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup>\n\n## How it is done\n\n1. Choose a base clustering algorithm, a distance measure, a subsampling fraction, and a range of candidate cluster counts K. ConsensusClusterPlus defaults are maxK = 3, reps = 10, pItem = 0.8, pFeature = 1, and hierarchical clustering, but the tutorial recommends in practice about 1,000 repetitions and a maximum K up to 20.<sup>[7](https://bioconductor.posit.co/packages/3.24/bioc/manuals/ConsensusClusterPlus/man/ConsensusClusterPlus.pdf)</sup><sup> • </sup><sup>[8](https://bioconductor.statistik.uni-dortmund.de/packages/3.24/bioc/vignettes/ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.pdf)</sup> A rule of thumb for the maximum K is the square root of the sample size.<sup>[9](https://rdrr.io/github/dswatson/M3C/src/R/consensus.R)</sup>\n2. For each K, run H resampling iterations. Each perturbed dataset is created by sampling, without replacement, a fraction of the items (Monti used 80%) and, optionally, a fraction of the features.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup><sup> • </sup><sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup>\n3. Cluster each perturbed dataset into K groups with the chosen algorithm, and record which item pairs were clustered together.<sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup>\n4. Build the consensus matrix for each K by normalizing the summed connectivity matrices: each cell is the number of times two items clustered together divided by the number of times they were sampled together.<sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup><sup> • </sup><sup>[4](https://link.springer.com/article/10.1186/1471-2105-11-590)</sup>\n5. For each K, perform a final agglomerative hierarchical clustering using distance \\( 1 - \\text{consensus} \\) values and prune the tree to K consensus clusters.<sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup>\n6. Select K using the diagnostics: the delta-area plot shows the relative change in area under the CDF curve from \\( K - 1 \\) to \\( K \\), and is commonly inspected for a leveling-off or elbow in that increase rather than a peak at the optimal K; and PAC, the fraction of sample pairs with consensus values in an intermediate sub-interval of [0, 1], is minimized at the optimal K because a low PAC means a flat middle segment of the CDF.<sup>[8](https://bioconductor.statistik.uni-dortmund.de/packages/3.24/bioc/vignettes/ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.pdf)</sup><sup> • </sup><sup>[4](https://link.springer.com/article/10.1186/1471-2105-11-590)</sup><sup> • </sup><sup>[3](https://www.nature.com/articles/srep06207)</sup>\n\nSupported distances in ConsensusClusterPlus include Pearson (1 − Pearson correlation), Spearman, Euclidean, binary, maximum, Canberra, and Minkowski, plus custom distance functions and custom clustering algorithms; a pre-computed distance matrix can be supplied to speed up runs on thousands of items.<sup>[8](https://bioconductor.statistik.uni-dortmund.de/packages/3.24/bioc/vignettes/ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.pdf)</sup>\n\n## Origin\n\nConsensus clustering was introduced by Stefano Monti, Pablo Tamayo, Jill Mesirov, and Todd Golub in \"Consensus Clustering: A Resampling-Based Method for Class Discovery and Visualization of Gene Expression Microarray Data\", Machine Learning, volume 52, pages 91–118, 2003.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup> The paper built on earlier resampling-based validation work: [Bootstrapping](https://www.edgepedia.org/bootstrapping) was introduced to assess the stability of hierarchical clustering, and the paper also cites Ben-Hur, Elisseeff and Guyon (2002), Dudoit and Fridlyand (2002), Levine and Domany (2001), Jain and Moreau (1988), and Tibshirani and colleagues (2001).<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup>\n\nMonti's design differs from bagging-based clustering in the resampling scheme: bootstrap replicates contain identical duplicate items, which artificially inflates the compactness of the dataset, so the method samples items without replacement instead.<sup>[1](https://link.springer.com/article/10.1023/A:1023949509487)</sup> A parallel line of work, the cluster-ensemble framework of Alexander Strehl and Joydeep Ghosh (2002), combined multiple partitions of the same data into a median partition; that formulation is NP-complete as an optimization problem.<sup>[10](https://www.cs.ucdavis.edu/~filkov/papers/consensuseval.pdf)</sup> Simpson, Armstrong, and Jarman later described Monti's method as the only generalized, model-independent resampling methodology for assessing cluster stability among the approaches they reviewed.<sup>[4](https://link.springer.com/article/10.1186/1471-2105-11-590)</sup> By 2014 the 2003 paper had been cited roughly 600 times, and [The Cancer Genome Atlas](https://www.edgepedia.org/the-cancer-genome-atlas) had used it to identify four glioblastoma subtypes.<sup>[3](https://www.nature.com/articles/srep06207)</sup>\n\n## Variants\n\n**ConsensusClusterPlus** (Matthew D. Wilkerson and D. Neil Hayes, Bioinformatics 2010) implements the Monti algorithm in R and adds item tracking, item-consensus, and cluster-consensus plots, two-dimensional item and feature subsampling that can be weighted by distributions such as gene variability, and support for custom algorithms.<sup>[2](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)</sup> GenePattern 2.0 (Michael Reich and colleagues, [Nature Genetics](https://www.edgepedia.org/nature-genetics) 2006) hosted a consensus clustering implementation for non-programmers.<sup>[11](https://doi.org/10.1038/ng0506-500)</sup>\n\n**M3C** (Christopher R. John, David Watson, Dominic Russ, and colleagues, [Scientific Reports](https://www.edgepedia.org/scientific-reports) 2020) wraps the Monti algorithm in a [Monte Carlo](https://www.edgepedia.org/monte-carlo) reference framework: it simulates null distributions of PAC scores from structureless reference data, fits a beta distribution to estimate tail p-values, and thereby enables a formal test of the null hypothesis \\( K = 1 \\). Its inner algorithms are PAM (default), k-means, and self-tuning spectral clustering.<sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup>\n\n**clusterCons** (Simpson, Armstrong, and Jarman, 2010) merges consensus matrices from multiple clustering algorithms and parameter settings through weighted averaging with user-specifiable weights in [0, 1].<sup>[4](https://link.springer.com/article/10.1186/1471-2105-11-590)</sup> **Fast Consensus** (Raffaele Giancarlo and Filippo Utro, 2011) approximates the Monti procedure at least an order of magnitude faster with hierarchical or hierarchically initialized partitional algorithms, retaining the same precision.<sup>[12](https://almob.biomedcentral.com/counter/pdf/10.1186/1748-7188-6-1.pdf)</sup> **MPCC** builds ensembles from tiny minipatches of 25% of observations and 10% of features, cutting the dominating cost to \\( O(N^{2}) \\); its variant IMPACC adds ANOVA-based adaptive feature sampling for interpretability.<sup>[13](https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1010577)</sup> The **ConsensusClustering** R package implements data-perturbation, multi-view, and majority-voting consensus mechanisms with cluster-count selection via LogitScore, PAC, deltaA, and CMavg.<sup>[6](https://cran.r-project.org/web/packages/ConsensusClustering/refman/ConsensusClustering.html)</sup> For single-cell data, **SC3** (Kiselev and colleagues, [Nature Methods](https://www.edgepedia.org/nature-methods) 2017) applies consensus clustering over dimension reductions followed by k-means,<sup>[14](https://doi.org/10.1038/nmeth.4236)</sup> and **CHAI** aggregates seven scRNA-seq algorithms through binary similarity matrices, with an average-similarity variant and a CHAI-SNF variant.<sup>[15](https://pmc.ncbi.nlm.nih.gov/articles/PMC10983883/)</sup> **Untangled** runs Seurat's Louvain clustering across resolutions 0.2 to 20 in steps of 0.2, aggregates the assignments into a consensus matrix, and selects the cluster number via Ward clustering with silhouette-plateau detection over a default range of 2–300 clusters; it achieved higher cluster purity than SC3, RSEC, SAFE, SAME, and ConsensusClusterPlus on gold-standard PBMC and simulated datasets.<sup>[16](https://www.ovid.com/journals/brbio/fulltext/10.1093/bib/bbag242~a-scalable-multi-resolution-consensus-clustering-approach)</sup>\n\n## Applications\n\nThe dominant application is cancer molecular subtyping. TCGA used consensus clustering on glioblastoma gene expression data and identified four subtypes,<sup>[3](https://www.nature.com/articles/srep06207)</sup> and the ConsensusClusterPlus vignette cites Hayes and colleagues (2006) on lung adenocarcinoma and Verhaak and colleagues (2010) on glioblastoma as examples of new molecular subclasses found with the method.<sup>[8](https://bioconductor.statistik.uni-dortmund.de/packages/3.24/bioc/vignettes/ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.pdf)</sup> In single-cell RNA-seq, SC3 is a popular approach that employs consensus clustering by computing multiple distance matrices between cells, transforming them via PCA and the graph Laplacian, and aggregating k-means clusterings obtained from those transformed representations,<sup>[13](https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1010577)</sup> and CHAI extends it by fusing similarity matrices from seven algorithms; its CHAI-SNF variant builds on Similarity Network Fusion, originally created to integrate mRNA, [DNA methylation](https://www.edgepedia.org/dna-methylation), and miRNA patient similarity matrices in bulk multi-omics subtyping, and CHAI can additionally incorporate spatial transcriptomics or ATAC-seq data.<sup>[15](https://pmc.ncbi.nlm.nih.gov/articles/PMC10983883/)</sup>\n\n## Limitations and alternatives\n\n**Stability is not truth.** Simulations show consensus clustering can divide randomly generated unimodal, cluster-less data into apparently stable clusters for a range of K, and that common implementations identify the true K poorly on data with known structure.<sup>[3](https://www.nature.com/articles/srep06207)</sup> Şenbabaoğlu, Michailidis, and Li recommend not relying solely on the consensus matrix heatmap, formally testing cluster strength against simulated unimodal data with the same gene-gene correlation, and combining consensus clustering with other ensemble methods.<sup>[3](https://www.nature.com/articles/srep06207)</sup>\n\n**Bias toward higher K.** Because PAC and the original delta-area criteria are not compared against null reference distributions, the Monti algorithm has a bias toward higher K and yields high numbers of false positives; M3C addresses this with Monte Carlo reference testing.<sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup> On simulated data with known K, PAC outperformed CDF, Δ(K), Silhouette Width, GAP-PC, and CLEST.<sup>[3](https://www.nature.com/articles/srep06207)</sup> A separate evaluation found that stability-based measures including consensus clustering consistently outperform the non-stability-based KL, [Silhouette](https://www.edgepedia.org/silhouette-clustering), GAP, and JUMP measures for selecting the number of clusters.<sup>[17](https://thesis.eur.nl/pub/53543/A-Critical-Evaluation-of-Stability-based-Measures-for-the-Selection-of-the-Number-of-Clusters-449580-.pdf)</sup>\n\n**Sample size and base algorithm.** Consensus clustering is very reliable at predicting the correct number of clusters on small and medium-sized datasets of hundreds of items, particularly with hierarchical base algorithms.<sup>[12](https://almob.biomedcentral.com/counter/pdf/10.1186/1748-7188-6-1.pdf)</sup> [Hierarchical clustering](https://www.edgepedia.org/hierarchical-clustering) with average linkage is unreliable as a base method because cutting the dendrogram at level K often assigns outlier samples into small or singleton clusters.<sup>[3](https://www.nature.com/articles/srep06207)</sup> Asymptotic selection consistency has not been established for consensus clustering, which may terminate at a local optimum.<sup>[17](https://thesis.eur.nl/pub/53543/A-Critical-Evaluation-of-Stability-based-Measures-for-the-Selection-of-the-Number-of-Clusters-449580-.pdf)</sup>\n\n**Computational cost.** Consensus is among the slowest internal validation measures, with a time gap of at least two orders of magnitude versus the fastest measure (WCSS); in one benchmark some runs were stopped after four days or would have taken weeks to complete.<sup>[12](https://almob.biomedcentral.com/counter/pdf/10.1186/1748-7188-6-1.pdf)</sup> M3C runtimes ranged from about 2 to 25 minutes depending on dataset size, it becomes slower than other methods above 500 samples, and its documentation recommends it only for datasets of roughly 60–1000 samples, not single-cell data.<sup>[5](https://doi.org/10.1038/s41598-020-58766-1)</sup> The N × N consensus matrix is the recurring bottleneck: Untangled reports one above 100,000 samples.<sup>[16](https://www.ovid.com/journals/brbio/fulltext/10.1093/bib/bbag242~a-scalable-multi-resolution-consensus-clustering-approach)</sup> As an optimization problem, the median-partition form of consensus clustering is NP-complete, and exact solvers remain limited to instances of no more than several hundreds of samples.<sup>[10](https://www.cs.ucdavis.edu/~filkov/papers/consensuseval.pdf)</sup><sup> • </sup><sup>[18](https://www.sciencedirect.com/science/article/abs/pii/S0957417419300892)</sup>\n\n## References\n\n1. [Consensus Clustering: A Resampling-Based Method for Class Discovery and Visualization of Gene Expression Microarray Data (Monti, Tamayo, Mesirov & Golub, Machine Learning 2003)](https://link.springer.com/article/10.1023/A:1023949509487)\n2. [ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking (Wilkerson & Hayes, Bioinformatics 2010)](https://pmc.ncbi.nlm.nih.gov/articles/PMC2881355/)\n3. [Critical limitations of consensus clustering in class discovery (Şenbabaoğlu, Michailidis & Li, Scientific Reports 2014; bioRxiv preprint versions merged here)](https://www.nature.com/articles/srep06207)\n4. [Merged consensus clustering to assess and improve class discovery with microarray data (Simpson et al., BMC Bioinformatics 2010)](https://link.springer.com/article/10.1186/1471-2105-11-590)\n5. [Christopher R. John and colleagues (2020). M3C: Monte Carlo reference-based consensus clustering. Scientific Reports.](https://doi.org/10.1038/s41598-020-58766-1)\n6. [ConsensusClustering R package reference manual (CRAN, v1.5.0)](https://cran.r-project.org/web/packages/ConsensusClustering/refman/ConsensusClustering.html)\n7. [ConsensusClusterPlus package manual (v1.77.0)](https://bioconductor.posit.co/packages/3.24/bioc/manuals/ConsensusClusterPlus/man/ConsensusClusterPlus.pdf)\n8. [ConsensusClusterPlus Tutorial (Bioconductor vignette)](https://bioconductor.statistik.uni-dortmund.de/packages/3.24/bioc/vignettes/ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.pdf)\n9. [dswatson/M3C source: R/consensus.R](https://rdrr.io/github/dswatson/M3C/src/R/consensus.R)\n10. [Consensus Clustering Algorithms: Comparison and Refinement (Filkov & Skiena)](https://www.cs.ucdavis.edu/~filkov/papers/consensuseval.pdf)\n11. [Michael Reich and colleagues (2006). GenePattern 2.0. Nature Genetics.](https://doi.org/10.1038/ng0506-500)\n12. [Speeding up the Consensus Clustering methodology for microarray data analysis, Fast Consensus (Giancarlo & Utro, Algorithms for Molecular Biology 2011)](https://almob.biomedcentral.com/counter/pdf/10.1186/1748-7188-6-1.pdf)\n13. [Fast and interpretable consensus clustering via minipatch learning (MPCC, PLOS Computational Biology)](https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1010577)\n14. [Vladimir Yu Kiselev and colleagues (2017). SC3: consensus clustering of single-cell RNA-seq data. Nature Methods.](https://doi.org/10.1038/nmeth.4236)\n15. [CHAI: Consensus Clustering Through Similarity Matrix Integration for Cell-Type Identification](https://pmc.ncbi.nlm.nih.gov/articles/PMC10983883/)\n16. [A scalable, multi-resolution consensus clustering approach (Untangled), Briefings in Bioinformatics](https://www.ovid.com/journals/brbio/fulltext/10.1093/bib/bbag242~a-scalable-multi-resolution-consensus-clustering-approach)\n17. [A Critical Evaluation of Stability-based Measures for the Selection of the Number of Clusters (Erasmus University thesis)](https://thesis.eur.nl/pub/53543/A-Critical-Evaluation-of-Stability-based-Measures-for-the-Selection-of-the-Number-of-Clusters-449580-.pdf)\n18. [Estimating the number of clusters in a dataset via consensus clustering (Expert Systems with Applications, 2019)](https://www.sciencedirect.com/science/article/abs/pii/S0957417419300892)\n\n---\n*Topic: Encyclopedia › Physical world and mathematics › Mathematics and statistics › Statistics and probability › Multivariate association and dimension reduction › Titles A to Me*\n\n*Initially written Sep 29, 2026 · Edited: Oct 15, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [
  "https://www.cs.ucdavis.edu/~filkov/papers/consensuseval.pdf"
 ],
 "url": "https://www.edgepedia.org/consensus-clustering",
 "markdown_url": "https://www.edgepedia.org/consensus-clustering.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"Consensus clustering\", Edgepedia (EdgeChat), https://www.edgepedia.org/consensus-clustering. Edgepedia Community License 1.0.",
 "credit_md": "\"[Consensus clustering](https://www.edgepedia.org/consensus-clustering)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/consensus-clustering](https://www.edgepedia.org/consensus-clustering). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/consensus-clustering\">Consensus clustering</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/consensus-clustering\">https://www.edgepedia.org/consensus-clustering</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "Consensus clustering is a resampling-based clustering method that assesses cluster stability by repeatedly clustering perturbed versions of a dataset, producing a consensus matrix and clustering."
}
