欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 【漫话机器学习系列】236.邻域链接(Tomek Link)

【漫话机器学习系列】236.邻域链接(Tomek Link)

2025/5/8 21:50:21 来源:https://blog.csdn.net/IT_ORACLE/article/details/147675214  浏览:    关键词:【漫话机器学习系列】236.邻域链接(Tomek Link)

数据清洗中的利器:Tomek Link(邻域链接)详解与应用实战

一、引言

在处理机器学习中的分类问题时,我们经常会遇到数据不平衡或噪声数据过多的问题。尤其是在过采样(如SMOTE)或欠采样之前,如何对数据进行合理清洗,是影响模型性能的关键因素之一。

今天我们来聊一个处理类别边界噪声样本的经典方法——Tomek Link(邻域链接),并借助图解帮助大家轻松理解其原理和实际应用。


二、什么是 Tomek Link?

Tomek Link 是由 Ivan Tomek 提出的一个概念,用于清洗分类数据集中的边界样本。其核心目的是找出处于不同类别之间边界上的样本对,通常这些样本可能是:

  • 噪声样本;

  • 或对分类决策边界模糊不清。

图解理解

我们先来看一张经典的图示(来源:Chris Albon):

从图中可以看到:

  • 类别1:绿色“×”;

  • 类别2:红色“○”;

  • 中间有一些“×”和“○”互为最近邻的点,构成了所谓的Tomek Link对。


三、Tomek Link 的定义

根据图中内容,Tomek Link 的定义有三个要点:

设有两个样本 x 和 y:

  1. x 的最近邻是 y;

  2. y 的最近邻是 x;

  3. x 和 y 属于不同的类别。

满足以上三条规则的样本对就构成了一个 Tomek Link


四、Tomek Link 的作用

Tomek Link 的主要作用是:

帮助识别边界样本或噪声数据,从而优化数据分布,提高模型的泛化能力。

常见操作:

  • 删除 Tomek Link 中的“多数类”样本(常用于数据不平衡时);

  • 直接删除两个样本(如果数据量足够大,且边界噪声较多);

这样做的好处是:

  • 消除类与类之间的模糊边界;

  • 提高模型的判别清晰度;

  • 降低过拟合风险。


五、Tomek Link 的局限性

虽然 Tomek Link 简单高效,但并不是在所有场景中都适用:

图中也提到:

  • 数据量过小

  • 类别极度不平衡

使用 Tomek Link 清洗可能会造成有价值样本的丢失,反而导致模型性能下降。


六、Tomek Link 实战(Python 示例)

借助 imbalanced-learn 库可以快速使用 Tomek Links:

from imblearn.under_sampling import TomekLinks
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt# 生成一个不平衡数据集
X, y = make_classification(n_samples=500, n_features=2, n_redundant=0,n_clusters_per_class=1, weights=[0.9, 0.1],flip_y=0, random_state=1)# 应用 Tomek Links
tl = TomekLinks(sampling_strategy='majority')
X_resampled, y_resampled = tl.fit_resample(X, y)# 可视化清洗前后
plt.scatter(X[y==0][:,0], X[y==0][:,1], label="Class 0", alpha=0.3)
plt.scatter(X[y==1][:,0], X[y==1][:,1], label="Class 1", alpha=0.3)
plt.title("Before Cleaning with Tomek Link")
plt.legend()
plt.show()

更多参数可参考 imbalanced-learn 官方文档。


七、Tomek Link 适用场景

场景是否推荐
类别边界模糊✅ 推荐
数据中包含噪声点✅ 推荐
类别极不平衡⚠️ 谨慎使用
样本总量很少❌ 不推荐

八、总结

Tomek Link 是一个简单但实用的边界清洗方法,适合用于:

  • 训练前的预处理阶段;

  • 与 SMOTE 等采样方法联合使用;

  • 分类任务中的边界优化。

在实际项目中,建议与模型调参、采样策略联合使用,以达到最优效果。


九、参考资料

  • Chris Albon 图解(原图作者)

  • imbalanced-learn 文档

  • 《Imbalanced Learning: Foundations, Algorithms, and Applications》


你是否有在实际项目中用过 Tomek Link 或其他数据清洗技术?欢迎评论区一起讨论!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词