首页 > 解决方案 > 使用分类器进行异常检测的 SMOTE 过采样

问题描述

我有传感器数据,我想在训练集上使用 LOF 进行实时异常检测以检测异常,然后将标记的数据应用于分类器以对新数据点进行分类。我考虑过使用 SMOTE,因为我希望训练数据中有更多的 anamolies 点来克服不平衡的分类问题,但问题是 SMOTE 创建了许多在正常范围内的点。如何在不创建正常数据范围内的样本的情况下进行过采样?

应用 SMOTE 之前的数据图表。

SMOTE 之后的数据

标签: machine-learningscikit-learnoversampling

解决方案


SMOTE 将在少数类样本的k最近邻之间线性插值合成点。这意味着您最终将得到样本与其邻居之间的点。当样本像这样遍布各处时,您将在中间创建合成点是有道理的。

SMOTE 应该真正用于识别特征空间中更具体的区域作为少数类的决策区域。这似乎不是您的用例。您想知道哪些点本身“不属于”。

对于DBSCAN来说,这似乎是一个相当不错的用例,这是一种基于密度的聚类算法,可以将超出一定距离的点识别eps为不属于同一个邻域。


推荐阅读