详细内容或原文请订阅后点击阅览
为什么大多数人滥用 SMOTE,以及如何正确使用
对数据进行过采样的键,以正确的方式解决类别不平衡问题。
来源:KDnuggets简介
获取标记数据(即带有真实目标标签的数据)是构建大多数监督机器学习模型(例如随机森林、逻辑回归或基于神经网络的分类器)的基本步骤。尽管许多现实应用程序中的一个主要困难在于获取足够数量的标记数据,但有时,即使在选中该框之后,仍然可能存在一个更重要的挑战:类别不平衡。
当标记数据集包含具有非常不同的观察数量的类时,通常会出现一个或多个类的代表性严重不足时,就会发生类不平衡。这个问题在构建机器学习模型时经常会出现问题。换句话说,在不平衡的数据上训练像分类器这样的预测模型会产生诸如决策边界有偏差、少数类别的召回率低以及误导性的高准确度等问题,这在实践中意味着模型在“纸面上”表现良好,但一旦部署,就会在我们最关心的关键情况下失败——银行交易中的欺诈检测就是一个明显的例子,交易数据集由于大约 99% 的交易是合法的而极度不平衡。
合成少数过采样技术(SMOTE)是一种以数据为中心的重采样技术,通过综合生成属于少数类的新样本来解决这个问题,例如通过现有真实实例之间的插值技术进行欺诈交易。
本文简要介绍了SMOTE,随后重点解释了如何正确应用它、为什么它经常被错误使用以及如何避免这些情况。
SMOTE 是什么及其工作原理
在 Python 中正确实现 SMOTE
以下示例演示了如何使用 scikit-learn 和 imblearn 将 SMOTE 集成到机器学习工作流程中:
SMOTE 的常见误用
让我们看看 SMOTE 在机器学习工作流程中被误用的三种常见方式,以及如何避免这些错误使用:
