首页 > 其他 > 详细

何为数据泄露——千里之堤,毁于蚁穴

时间:2020-03-26 00:46:42      阅读:154      评论:0      收藏:0      [点我收藏+]

在我们进行数据清洗这个操作的时候,我们往往要对数据之间进行关联性验证,比如找出哪些数据是有前因后果的,哪些数据是互相冲突的等等。

我们一定要找出这些联系出来,这很重要,因为如果没有充分的对数据进行关联性验证,我们很有可能会造成数据泄露错误。

1、简要介绍

数据泄露是指,在训练数据中包含目标信息,但在预测时没有可用的类似数据。

主要有两种泄露类型:target leakage(目标泄露)train-test contamination(训练测试污染)

1.1 目标泄露

抗生素案例:用人们是否服用抗生素来判断是否得肺炎

人们在患肺炎后通过服用抗生素来恢复健康,原始数据显示这些列之间有很强的关系,但是人们一般是确定患肺炎后,才服用抗生素,两者之间有先后顺序。这就是目标泄漏。

信用卡支出案例:用人们的支出来判断是否有信用卡

支出是有信用卡之前的支出?还是有信用卡后在信用卡上的支出?如果是有信用卡后在信用卡上的支出,那么两者之间有先后顺序,有支出就必有信用卡。这就是目标泄漏。

所以为了防止这种类型的数据泄露,应排除目标值发生后才更新(或创建)的变量。

 

1.2 训练测试污染

当不认真区分训练数据和验证数据时,就会发生另一种类型的泄露——训练测试污染

电子邮件案例:假设一个模型要预测某封电子邮件是否是垃圾邮件,它使用主题行、邮件正文和发件人的电子邮件地址作为特征。我们按照 80-20 的拆分比例将数据拆分为训练集和测试集。在训练之后,该模型在训练集和测试集上均达到了 99% 的精确率。我们原本预计测试集上的精确率会低于此结果,因此再次查看数据后发现,测试集中的很多样本与训练集中的样本是重复的(由于疏忽,我们在拆分数据之前,没有将输入数据库中的相同垃圾邮件重复条目清理掉)。我们无意中对一些测试数据进行了训练,因此无法再准确衡量该模型泛化到新数据的效果。(此案例引用于https://blog.csdn.net/bxg1065283526/article/details/79967928)

 

何为数据泄露——千里之堤,毁于蚁穴

原文:https://www.cnblogs.com/Y-Knightqin/p/12571342.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!