我最近开始使用 kaggle,我偶然发现了一些我认为确实是数据泄漏的做法示例。他们中的许多人是由在平台上很成熟的人完成的,我可以从他们的笔记本上看出,他们知道自己在做什么。
作为一些例子,我看到有人在任何训练测试拆分之前修复了整个数据集的偏度。作为另一个,我看到很多人不仅根据整个数据集估算缺失数据,而且还考虑了观察结果的标签。因此,他们为一类计算了一个值,而为第二类计算了另一个值。为什么?这不是数据泄露吗?难道不应该避免这样的做法吗?我在这里错过了什么吗?
我发现了这个问题,但我认为它不适用于我写的案例,因为所有笔记本的最终目标是创建预测模型。
编辑:
我意识到在修复偏度时,对数转换可以很好地应用于整个数据集,但在我所谈论的示例中并非如此。应用的变换是 box-cox。
插补示例中的具体转换都是用特征相对于类标签的方法来填充缺失值。