{
 "id": "ep3k1zxygb",
 "slug": "synthetic-minority-over-sampling-technique",
 "title": "Synthetic minority over-sampling technique",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "technology",
   "label": "Technology and the built world",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology"
  },
  {
   "id": "technology.computing",
   "label": "Computing and digital systems",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing"
  },
  {
   "id": "technology.computing.ai",
   "label": "Artificial intelligence and data",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai"
  },
  {
   "id": "technology.computing.ai.ml_computation",
   "label": "Machine learning and neural computation",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.ml_computation"
  },
  {
   "id": "technology.computing.ai.ml_methods",
   "label": "Machine learning methods",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.ml_methods"
  },
  {
   "id": "technology.computing.ai.supervised_unsupervised",
   "label": "Supervised, unsupervised, and semi-supervised learning",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.supervised_unsupervised"
  },
  {
   "id": "technology.computing.ai.supervised_unsupervised.supervised_concepts",
   "label": "Supervised learning concepts",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.supervised_unsupervised.supervised_concepts"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t2001.technology.computing.ai.supervised_unsupervised",
   "label": "Non-geographic · 2001 to 2020: Supervised, unsupervised, and semi-supervised learning",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.supervised_unsupervised",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t2001",
     "label": "Non-geographic · 2001 to 2020",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001"
    },
    {
     "id": "geo.nongeo.t2001.technology",
     "label": "Technology and the built world",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing",
     "label": "Computing and digital systems",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai",
     "label": "Artificial intelligence and data",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai.ml_computation",
     "label": "Machine learning and neural computation",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.ml_computation"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai.ml_methods",
     "label": "Machine learning methods",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.ml_methods"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai.supervised_unsupervised",
     "label": "Supervised, unsupervised, and semi-supervised learning",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.supervised_unsupervised"
    }
   ]
  }
 ],
 "excerpt": "The synthetic minority over-sampling technique (SMOTE) is a machine learning method for imbalanced classification that creates synthetic minority-class samples by interpolating between existing samples and their nearest neighbors.",
 "snippet": "The synthetic minority over-sampling technique (SMOTE) is a machine learning method for imbalanced classification that creates synthetic minority-class samples by interpolating between existing samples and their nearest neighbors.",
 "node": "technology.computing.ai.supervised_unsupervised.supervised_concepts",
 "markdown": "# Synthetic minority over-sampling technique\n\nThe synthetic minority over-sampling technique ([SMOTE](https://www.edgepedia.org/smote)) is a data-level method for imbalanced classification that generates synthetic minority-class feature vectors by interpolating between existing minority samples and their nearest neighbors, rather than duplicating records. It addresses the shortage of minority-class data in domains where misclassifying a rare, interesting case as normal is far costlier than the reverse error.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> Since its 2002 publication it has been treated as the de facto standard baseline for learning from imbalanced data, and it ships in software packages from open-source libraries to commercial tools.<sup>[2](https://jair.org/index.php/jair/article/download/11192/26406/20731)</sup>\n\n| Key fact | Detail |\n|---|---|\n| What it produces | Synthetic minority-class feature vectors (with the minority label), placed on line segments between existing minority samples<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> |\n| Core update rule | \\( x_{\\mathrm{new}} = x_i + \\lambda \\cdot (x_{zi} - x_i) \\), with \\( \\lambda \\sim U(0,1) \\)<sup>[3](https://imbalanced-learn.org/stable/over_sampling.html)</sup> |\n| Output size | \\( (N/100) \\cdot T \\) synthetic samples for \\( T \\) minority examples and over-sampling amount \\( N \\)<sup>[2](https://jair.org/index.php/jair/article/download/11192/26406/20731)</sup> |\n| Main hyperparameter | \\( K \\), the number of nearest neighbors used for interpolation, default 5<sup>[2](https://jair.org/index.php/jair/article/download/11192/26406/20731)</sup><sup> • </sup><sup>[4](https://github.com/scikit-learn-contrib/imbalanced-learn/blob/6176807/imblearn/over_sampling/_smote/base.py)</sup> |\n| Origin | Chawla and colleagues, Journal of Artificial Intelligence Research, volume 16, pages 321–357, 2002<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> |\n| Scale of follow-up | More than 25,000 Google Scholar papers with \"SMOTE\" in the title over the last decade<sup>[5](https://proceedings.mlr.press/v300/sakho26a.html)</sup> |\n| Key caveat | On high-dimensional data it is often not beneficial and can be worse than random undersampling<sup>[6](https://link.springer.com/article/10.1186/1471-2105-14-106)</sup> |\n\n## How it works\n\nSMOTE operates in feature space. For a minority sample \\( x_i \\), the algorithm finds its \\( K \\) nearest minority-class neighbors, selects one neighbor \\( x_{zi} \\), and generates a new point on the line segment joining them:\n\n\\[ x_{\\mathrm{new}} = x_i + \\lambda \\cdot (x_{zi} - x_i) \\]\n\nwhere \\( \\lambda \\) is a random number in \\( [0, 1] \\).<sup>[3](https://imbalanced-learn.org/stable/over_sampling.html)</sup> The original paper describes the same construction as taking the difference between the feature vector and a selected neighbor, multiplying by a random number between 0 and 1, and adding the result back to the feature vector.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> For nominal attributes, one of the two observed category values is selected at random.<sup>[2](https://jair.org/index.php/jair/article/download/11192/26406/20731)</sup> Because new points lie between real minority samples rather than duplicating them, the method reduces the overfitting risk that replication carries.<sup>[7](https://arxiv.org/html/2505.13518v2)</sup>\n\n## How it is done\n\nThe practitioner fixes three choices. First, \\( K \\), the neighborhood size, defaults to 5 in both the original implementation and the imbalanced-learn `k_neighbors` parameter.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup><sup> • </sup><sup>[4](https://github.com/scikit-learn-contrib/imbalanced-learn/blob/6176807/imblearn/over_sampling/_smote/base.py)</sup> Second, the over-sampling amount \\( N \\), set up front either to reach an approximate 1:1 class distribution or tuned by a wrapper process; in imbalanced-learn it is expressed as the ratio \\( \\alpha_{\\mathrm{os}} = N_{\\mathrm{rm}} / N_{M} \\), the minority-class size after resampling divided by the majority-class size.<sup>[2](https://jair.org/index.php/jair/article/download/11192/26406/20731)</sup><sup> • </sup><sup>[8](https://imbalanced-learn.org/stable/references/generated/imblearn.over_sampling.SMOTE.html)</sup> The original rule links the two: for 200% over-sampling, two of the five neighbors are chosen and one sample is generated in the direction of each.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> Third, the distance metric, which for mixed data requires the SMOTE-NC treatment described below.\n\nApply SMOTE only to training data. In \\( k \\)-fold cross-validation the correct procedure is to fit the resampler on the training fold only and evaluate on the untouched test fold, for example by placing SMOTE inside a pipeline that transforms the training data before the model is fitted.<sup>[9](https://machinelearningmastery.com/smote-oversampling-for-imbalanced-classification/)</sup> Empirical studies follow the same discipline, oversampling only the training fold of a stratified 60/20/20 split.<sup>[10](https://arxiv.org/pdf/2201.08528v3.pdf)</sup>\n\n## Origin\n\nThe authors contrast it with over-sampling with replacement, where repeated copies of minority points simply add weight without adding new geometry, and they combine it with under-sampling of the majority class.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> The design was inspired by earlier work in handwritten character recognition that created extra training data by perturbing real samples with operations such as rotation and skew.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup>\n\n## Variants\n\nMost variants change which seed samples are chosen for interpolation; the interpolation itself is shared. ADASYN produces more synthetic samples between minority samples that are mostly surrounded by majority-class samples; Borderline SMOTE generates new samples on the frontier between the classes; SVM-SMOTE fits a support vector machine and interpolates on the minority-class support vectors.<sup>[5](https://proceedings.mlr.press/v300/sakho26a.html)</sup> [The Borderline](https://www.edgepedia.org/the-borderline) family classifies each minority sample as noise, in danger, or safe by its neighbors' labels, and Borderline-1 interpolates toward same-class neighbors while Borderline-2 also uses majority-class ones.<sup>[3](https://imbalanced-learn.org/stable/over_sampling.html)</sup> SMOTE-NC handles mixed continuous and nominal features by adding the median of the continuous-feature standard deviations to the distance when categorical labels differ, and it cannot run on all-nominal datasets.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup><sup> • </sup><sup>[11](https://www.mdpi.com/2571-5577/4/1/18)</sup> CDSMOTE decomposes classes before oversampling,<sup>[12](https://doi.org/10.1007/s00521-020-05130-z)</sup> and LoRAS builds samples from localized random affine shadowsampling.<sup>[13](https://doi.org/10.1007/s10994-020-05913-4)</sup> A 2004 study by Gustavo E. A. P. A. Batista, Ronaldo C. Prati, and Maria Carolina Monard added the cleaning hybrids SMOTE+Tomek links and SMOTE+ENN, which remove ambiguous points after resampling.<sup>[14](https://doi.org/10.1145/1007730.1007735)</sup> Theoretical work has also matured: Sakho, Scornet, and Malherbe proved that without tuning \\( K \\), SMOTE asymptotically copies the original minority samples, lacking the intrinsic variability a generative procedure requires; they introduced CV SMOTE, which selects \\( K \\) by 5-fold cross-validation over a grid, and Multivariate Gaussian SMOTE, and found that applying no strategy is competitive for most datasets while MGS ranks among the best when the imbalance ratio is dramatically increased.<sup>[5](https://proceedings.mlr.press/v300/sakho26a.html)</sup> New variants continue to appear: ISMOTE expands the feasible generation space beyond the segment between two minority samples, addressing overfitting in dense regions and distributional deviation of interpolated points,<sup>[15](https://www.nature.com/articles/s41598-025-09506-w)</sup> and hybrid methods fuse SMOTE with a conditional variational autoencoder for data-adaptive noise filtering.<sup>[16](https://doi.org/10.1007/s10489-025-06692-y)</sup>\n\n## Applications\n\nDocumented application areas include bioinformatics, where SMOTE has been used for miRNA gene prediction, identification of regulatory protein binding specificity, photoreceptor-enriched gene identification from expression data, and histopathology annotation, as well as network intrusion detection and breast cancer detection.<sup>[6](https://link.springer.com/article/10.1186/1471-2105-14-106)</sup> The open-source Python package imbalanced-learn provides SMOTE, ADASYN, Borderline SMOTE, and SVM-SMOTE,<sup>[5](https://proceedings.mlr.press/v300/sakho26a.html)</sup> plus the BorderlineSMOTE, SVMSMOTE, KMeansSMOTE, and SMOTENC classes, which differ in how seed samples \\( x_i \\) are selected before generation.<sup>[3](https://imbalanced-learn.org/stable/over_sampling.html)</sup> Reported gains depend on classifier and dimensionality: for low-dimensional data, SMOTE reduces the majority-class bias of k-NN, SVM, PAM, L1- and L2-penalized logistic regression, and CART, but hardly affects discriminant analysis classifiers such as DLDA and DQDA.<sup>[6](https://link.springer.com/article/10.1186/1471-2105-14-106)</sup>\n\n## Limitations and alternatives\n\nSMOTE oversamples noisy examples, can magnify noise, and can place synthetic samples in majority-class regions, misleading the classifier; it also ignores minority classes composed of several small disjuncts or sub-concepts.<sup>[17](https://link.springer.com/article/10.1007/s10994-022-06296-4)</sup> Higher degrees of over-sampling increase overlap with the majority-class decision space; on the Adult dataset, SMOTE-NC performed worse than plain under-sampling by AUC.<sup>[1](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)</sup> In high dimensions the method changes class-specific means little, decreases variability, and induces correlation between samples; with \\( p = 300 \\) variables, the nearest neighbor of any test sample can be a SMOTE sample, and the method performs worse than cut-off adjustment or simple undersampling for most classifiers.<sup>[6](https://link.springer.com/article/10.1186/1471-2105-14-106)</sup> With C4.5, under-sampling has been shown to beat over-sampling in the class-imbalance setting.<sup>[18](https://www.site.uottawa.ca/~cdrummon/pubs/ICML03.pdf)</sup> On the Pima dataset with C4.5, Batista and colleagues reported mean AUC of 81.53 for the original data, 85.32 for random over-sampling, 85.49 for SMOTE, 84.46 for SMOTE+Tomek, and 83.66 for SMOTE+ENN (with pruning).<sup>[14](https://doi.org/10.1145/1007730.1007735)</sup> Hyperparameter selection lacks standardized guidelines, and the proliferation of parameters across variants hinders practical deployment.<sup>[7](https://arxiv.org/html/2505.13518v2)</sup> A NeurIPS 2025 paper derived a non-asymptotic excess-risk bound of order \\( n_1^{-1/2} + (k/n_1)^{1/d} \\), where \\( n_1 \\) is the minority sample count and \\( k \\) the number of neighbors.<sup>[19](https://proceedings.neurips.cc/paper_files/paper/2025/file/e715ad3d527e246af3ab286c3f3d367c-Paper-Conference.pdf)</sup> Generative alternatives based on large language models<sup>[20](https://doi.org/10.48550/arxiv.2406.03628)</sup> and diffusion models have been proposed, but published comparisons found SMOTE remains competitive even against recent diffusion models.<sup>[5](https://proceedings.mlr.press/v300/sakho26a.html)</sup>\n\n## References\n\n1. [SMOTE: Synthetic Minority Over-sampling Technique (JAIR full text, Chawla et al. 2002)](https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node1.html)\n2. [SMOTE for Learning from Imbalanced Data: Progress and Challenges, Marking the 15-year Anniversary (Fernández et al., JAIR 2018)](https://jair.org/index.php/jair/article/download/11192/26406/20731)\n3. [imbalanced-learn documentation: Over-sampling](https://imbalanced-learn.org/stable/over_sampling.html)\n4. [imbalanced-learn source: _smote/base.py](https://github.com/scikit-learn-contrib/imbalanced-learn/blob/6176807/imblearn/over_sampling/_smote/base.py)\n5. [Do We Need Rebalancing Strategies? A Theoretical and Empirical Study Around SMOTE and Its Variants (Sakho et al., PMLR v300; arXiv 2402.03819)](https://proceedings.mlr.press/v300/sakho26a.html)\n6. [SMOTE for high-dimensional class-imbalanced data (Blagus & Lusa, BMC Bioinformatics, 2013)](https://link.springer.com/article/10.1186/1471-2105-14-106)\n7. [Data Balancing Strategies: A Systematic Survey of Resampling and Augmentation Methods (arXiv, 2025)](https://arxiv.org/html/2505.13518v2)\n8. [imbalanced-learn SMOTE API reference](https://imbalanced-learn.org/stable/references/generated/imblearn.over_sampling.SMOTE.html)\n9. [SMOTE for Imbalanced Classification with Python (MachineLearningMastery)](https://machinelearningmastery.com/smote-oversampling-for-imbalanced-classification/)\n10. [To SMOTE, or not to SMOTE? (arXiv preprint, empirical study)](https://arxiv.org/pdf/2201.08528v3.pdf)\n11. [SMOTE-ENC: A Novel SMOTE-Based Method to Generate Synthetic Data for Nominal and Continuous Features](https://www.mdpi.com/2571-5577/4/1/18)\n12. [Eyad Elyan, Carlos Francisco Moreno-Garcia, Chrisina Jayne (2020). CDSMOTE: class decomposition and synthetic minority class oversampling technique for imbalanced-data classification. Neural Computing and Applications.](https://doi.org/10.1007/s00521-020-05130-z)\n13. [Saptarshi Bej and colleagues (2020). LoRAS: an oversampling approach for imbalanced datasets. Machine Learning.](https://doi.org/10.1007/s10994-020-05913-4)\n14. [Gustavo E. A. P. A. Batista, Ronaldo C. Prati, Maria Carolina Monard (2004). A study of the behavior of several methods for balancing machine learning training data. ACM SIGKDD Explorations Newsletter.](https://doi.org/10.1145/1007730.1007735)\n15. [An improved SMOTE algorithm for enhanced imbalanced data classification by expanding sample generation space (Scientific Reports, 2025)](https://www.nature.com/articles/s41598-025-09506-w)\n16. [Sungchul Hong, Seunghwan An, Jong-June Jeon (2025). Improving SMOTE via fusing conditional VAE for data-adaptive noise filtering. Applied Intelligence.](https://doi.org/10.1007/s10489-025-06692-y)\n17. [A theoretical distribution analysis of SMOTE for imbalanced learning (Machine Learning, 2022)](https://link.springer.com/article/10.1007/s10994-022-06296-4)\n18. [C4.5, Class Imbalance, and Cost Sensitivity: Why Under-Sampling beats Over-Sampling (Drummond & Holte, ICML 2003)](https://www.site.uottawa.ca/~cdrummon/pubs/ICML03.pdf)\n19. [Concentration and excess risk bounds for imbalanced classification with synthetic oversampling (NeurIPS 2025)](https://proceedings.neurips.cc/paper_files/paper/2025/file/e715ad3d527e246af3ab286c3f3d367c-Paper-Conference.pdf)\n20. [Nakada, Ryumei and colleagues (2024). Synthetic Oversampling: Theory and A Practical Approach Using LLMs to Address Data Imbalance. arXiv (Cornell University).](https://doi.org/10.48550/arxiv.2406.03628)\n\n---\n*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Artificial intelligence and data › Machine learning and neural computation › Machine learning methods › Supervised, unsupervised, and semi-supervised learning › Supervised learning concepts*\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": [],
 "url": "https://www.edgepedia.org/synthetic-minority-over-sampling-technique",
 "markdown_url": "https://www.edgepedia.org/synthetic-minority-over-sampling-technique.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": "\"Synthetic minority over-sampling technique\", Edgepedia (EdgeChat), https://www.edgepedia.org/synthetic-minority-over-sampling-technique. Edgepedia Community License 1.0.",
 "credit_md": "\"[Synthetic minority over-sampling technique](https://www.edgepedia.org/synthetic-minority-over-sampling-technique)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/synthetic-minority-over-sampling-technique](https://www.edgepedia.org/synthetic-minority-over-sampling-technique). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/synthetic-minority-over-sampling-technique\">Synthetic minority over-sampling technique</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/synthetic-minority-over-sampling-technique\">https://www.edgepedia.org/synthetic-minority-over-sampling-technique</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "The synthetic minority over-sampling technique is a machine learning method for imbalanced classification that creates synthetic minority-class samples by interpolating between existing samples and their nearest neighbors."
}
