0
点赞
收藏
分享

微信扫一扫

数据泄露-揭秘机器学习模型如何作弊


什么是数据泄露?

您是否对变现完美的模型表现困惑?你是否因此欣喜若狂?


简而言之,当您要预测的信息直接或间接出现在训练数据集中时,就会发生标签泄漏或目标泄漏。它会导致模型夸大其泛化误差,并极大地提高了模型的性能,但模型对于任何实际应用都毫无用处。


数据泄漏如何发生


最简单的示例是使用标签本身训练模型。在实践中,在数据收集和准备过程中无意中引入了目标变量的间接表示。触发结果的特征和目标变量的直接结果是在数据挖掘过程中收集的,因此在进行探索性数据分析时应手动识别它们。


数据泄漏的主要指标是“太好了,不能成为现实”模型。由于该模型不是优秀模型,因此在预测期间最有可能表现不佳。


数据泄漏不仅可以通过训练特征作为标签的间接表示来实现。也可能是因为来自验证或测试数据的某些信息保留在训练数据中,或者使用了来自将来的历史记录。



数据泄露是一个专用名词,表示有入模变量和target目标变量作用极其相似,这样会让模型提前知道预测结果,发生作弊,模型表现接近完美,如下图。

数据泄露-揭秘机器学习模型如何作弊_数据泄露


如果用通俗易懂方法阐述,数据泄露变量就像一个时空机,让模型提前看到未来。这有点像科幻电影。虽然数据泄漏很酷,却让模型作弊,提前知道了预测结果。

数据泄露-揭秘机器学习模型如何作弊_风控_02



查找数据泄露方法

我们变量筛选环节需要查找是否存在数据泄露变量。

方法1,变量相关性检验

查找方法很多,最好方法是看变量相关性。数据泄漏变量和target目标变量相关性会接近1

数据泄露-揭秘机器学习模型如何作弊_金融_03


方法2.模型法

第二种方法是模型法,通过变量重要性来观察数据泄漏变量。如下图lightgbm在数据泄漏观察中效果不如catboost。lightgbm变量重要性排序中,每个变量权重都会考虑相对平衡。catboost变量重要性会突出重要变量,这样更容易找出数据泄漏变量。


数据泄露-揭秘机器学习模型如何作弊_python_04

数据泄露-揭秘机器学习模型如何作弊_风控模型_05


我方​​《python风控建模实战lendingClub》​​教程中重点阐述了catboost算法细节运用,有兴趣朋友可前往了解。

数据泄露-揭秘机器学习模型如何作弊_风控模型_06

总结

数据泄漏是最常见的一种错误和可能发生的特性工程,使用时间序列,数据集标签,并巧妙地通过验证信息训练集。重要的是机器学习模型仅仅是接触信息可用时的预测。因此,明智的做法是仔细挑选变量特性,防止数据泄露。

版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。


举报

相关推荐

0 条评论