如何在 SMOTE 中找到最近的邻居

数据挖掘 数据集 阶级失衡 打击
2022-03-13 18:32:12

我正在阅读 Chawla 和其他人为 SMOTE 撰写的原始论文。我试图了解如何生成这些合成示例以对少数类进行过采样。论文说:

“合成样本的生成方式如下:取所考虑的特征向量(样本)与其最近邻之间的差值。将这个差值乘以 0 到 1 之间的随机数,并将其添加到所考虑的特征向量中。这个导致沿着两个特定特征之间的线段选择一个随机点”。

我理解这个想法,取你的样本,最近的邻居,在两者之间选择一个随机点,我不明白这些最近的邻居是如何定义的。

2个回答

您需要计算每个点之间的欧几里得距离并对这些距离进行排序。

也就是说,您可以在不平衡学习工具箱中找到一个实现。更准确地说,您可以看到您提到的实现的不同步骤:(i)拟合 KNN,(ii)找到每个样本的 NN,(iii)生成新样本

最近的邻居将是具有较小欧几里得距离的样本。