文章目录
前言
在选择欠采样方法时,没有一个方法可以在所有情况下都普遍适用并效果最好。不同的欠采样方法在实际应用中的效果取决于数据的具体特征、类分布情况、噪声水平以及实际任务要求。不过,以下是对这些方法的优缺点和适用场景的综合分析,结合它们的特点,找出可能在不同场景下表现更突出的几种方法。
1. 没有绝对最好,但可以根据场景选择最佳
确定效果最好的方法的核心在于以下几个方面:
- 数据边界的清晰度:
-
如果多数类和少数类在分类边界上有很大的重叠或杂音,就需要更注重边界清理的方法,比如 ENN(Edited Nearest Neighbours)/ Tomek Links / Neighbourhood Cleaning Rule。
-
如果边界较清晰,但需要选择一些更能代表少数类的点,则方法如 NearMiss 或 OneSidedSelection 会更好。
- 数据噪声水平:
- 当数据包含高比例的噪声时,像 Neighbourhood Cleaning Rule (NCR)、Repeated ENN 这类注重噪声清洗的算法会有更好效果。
- 少数类样本:
- 如果少数类样本分布稀疏或边界样本对分类作用大,方法如 InstanceHardnessThreshold (IHT)、OneSidedSelection 和 Tomek Links 更注重边界样本的情况,效果较好。
- 任务目标:
-
如果目标是优化 召回率 (Recall),一些边界采样方法(如 NearMiss)或复杂采样方法(如 ClusterCentroids)可能更理想。
-
如果目标是平衡多种指标(如 Precision-Recall),可以尝试 NCR、ENN、OSS(OneSidedSelection) 等综合清理和优化的方式。
2. 方法特点对比及推荐场景
以下是每种方法的优缺点、实际推荐场景以及其在不同情况下的可能表现总结:
方法 | 优点 | 缺点 | 推荐场景 |
---|---|---|---|
ClusterCentroids | 减少多数类冗余,简化数据集大小。 | 不一定能很好地保留分类边界上的少数类特征,存在信息丢失可能。 | 数据量大且多数类存在明显聚类分布时。 |
CondensedNearestNeighbour (CNN) | 提取对分类最重要的多数类点,删除冗余。 | 对噪声敏感,可能无法很好处理复杂边界。 | 数据边界清晰但多数类点过多时。 |
Edited Nearest Neighbours (ENN) | 清理噪声数据点,优化边界质量。 | 可能过度清理边界,尤其在噪声较少时。 | 数据集噪声较高,需要显著优化分类边界时。 |
RepeatedEdited Nearest Neighbours (RENN) | 同 ENN,进一步减少复杂数据噪声,多次迭代明显改善分类边界。 | 计算成本高,对“干净”数据集可能冗余清理。 | 边界模糊、噪声较多且少数类比例极低的场景。 |
AllKNN | 考虑多个K值,进一步改善边界,效果比ENN更鲁棒。 | 计算复杂度更高,对数据量大时耗时明显。 | 噪声多,且边界需要多轮优化,同时对资源开销不敏感的场景。 |
InstanceHardnessThreshold (IHT) | 通过分类置信度选择最具代表性的多数类点,保留边界信息。 | 依赖初始分类器性能;对模型有较高要求,可能引入更多假负例。 | 数据边界和分类难度高、初始分类器上效果很有参考性时。 |
NearMiss | 保留关键多数类点,强调边界附近的样本,提升召回率(Recall)。 | 可能删除过多多数类样本,造成信息过少;对数据噪声敏感。 | 注重少数类表现(如欺诈检测),尤其是极端不平衡数据场景。 |
Neighbourhood Cleaning Rule (NCR) | 同时清理影响分类的多数类和少数类点,边界优化更加合理。 | 需要更多计算资源;对于大数据集,效果有限。 | 噪声较多,且多数类和少数类边界附近数据分布复杂时。 |
OneSidedSelection (OSS) | 结合 CNN 和 Tomek Links,兼顾噪声清除和边界优化。 | 复杂度较高,可能过度清理边界样本,导致信息丢失。 | 注意分类边界的优化场景,适合少数类多样化程度较高的任务。 |
RandomUnderSampler (RUS) | 简单快速,直接实现多数类的随机下采样,适合初步探索实验。 | 可能随机删除重要的多数类信息,导致边界不清晰,模型性能下降。 | 对效率有要求,且只需要初步调整均衡性:适合作为第一步简单处理的工具。 |
TomekLinks | 有效清除少数类和多数类样本交错的“最近邻对”,优化边界。 | 无法应对复杂的多类样本分布情况,限制于两类样本分布的情况。 | 分类边界模糊但数据噪声较少的情况,或在二分类问题中的多数类清理。 |
3. 如果不考虑复杂度和资源开销,哪些方法更值得试用?
(1)推荐方法:综合性能最突出的
以下方法更注重边界优化、噪声清除以及提升分类能力,推荐在大多数应用场景中优先考虑:
- ENN(Edited Nearest Neighbours):
-
主要优势:清理噪声样本,改善边界模糊问题,适合大部分场景。
-
表现:在大多数非线性数据或噪声较高时,都能有效提升分类性能。
-
注意事项:偶尔会删除边界附近的少数类样本(可以结合其他方法,如 Tomek Links 使用)。
- Neighbourhood Cleaning Rule (NCR):
-
主要优势:综合清理多数类和少数类中的干扰样本,适合多样化的分类任务。
-
表现:对复杂边界或多类别的任务效果明显优于其他方法。
-
注意事项:需要额外的计算资源。
- OneSidedSelection (OSS):
-
主要优势:结合两种经典方法(CNN 和 Tomek Links),效果更加精细化。
-
表现:在非常不均衡的数据中(尤其极端情况下),边界处理非常突出。
-
注意事项:对运行效率要求较高。
(2)具体任务导向推荐
-
如果需要最大限度提升少数类的召回率(Recall):
-
NearMiss(可设
version=1
或version=3
,根据数据情况选择)。 -
如果搭配边界清理,可以试试 ENN 或 Tomek Links。
-
-
如果关心噪声清理和边界优化:
-
优选 ENN、NCR、OSS 或带多轮迭代的 RENN。
-
这些方法不仅清理冗余样本,还会进一步优化边界。
-
-
对于无需担心复杂度时想要全面优化的方案:
- 可尝试 IHT(InstanceHardnessThreshold) 或 OSS,因为它们更注重边界信息和分类器性能。
4.总结:
-
如果数据包含噪声或边界模糊,推荐从 ENN、NCR 入手;
-
如果少数类边界样本很重要,可尝试 NearMiss 或 IHT;
-
如果复杂度和计算资源不是问题,OSS、IHT 是全方位的选择;
-
最终效果需依赖实践和具体数据分布情况调试,没有绝对通用的最佳方法。