首先举个接近生活的例子,你作为一个优秀的算法工程师,你的目标是用机器学习算法来解决生活中的许多实际问题。 在解决二分类问题时,通过交叉检查方法对模型进行训练,发现测试集上的AUC指标为0.99时,我想你可以开发出这样的牛逼模型,以获得今年年底奖。 之后,系统工程师将该模型工程化,引进生产环境,正式开始解决实际业务问题。 当你向同事炫耀模特有多厉害的时候,模特在生产环境下的效果表现数据出来了。 看完后,双脚突然变软,同事不帮忙的话,就会倒在地上。
上述模型的出现在脱机评价时效果好,在线效果差的原因有很多,其中有时也被称为数据泄密( data leakage )。 用于训练机器学习算法的数据集包括应该预测的,即,部分测试数据被泄密训练集。 这里所说的信息是关于虽然能够在目标标签和训练数据中利用,但在实际世界中不能利用的、不合法的数据的信息。
数据泄密通常以非常微妙而难以理解的方式发生。 数据泄密发生时,模型脱机的评价结果为“虚高”。 所谓“虚高”,是指在离线阶段评价模型时,虽然在测试装置中表现得很好,但是在正式导入到生产环境中解决实际业务问题时,效果非常差。 也就是说,在离线评价中过高地估计了模型的能力。
前面已经描述了数据泄密的定义,但是它是抽象的,在此举一些例子说明数据泄密。 易于理解的泄密示例:如果训练数据包含测试数据,模型将过于适合。 另外,以预测目标作为模型的特征,模型的结论基本上类似于“苹果是苹果”。 如果某个东西上贴着苹果的标签,模型就意味着它是苹果的预测。 让我们看看KDD比赛中更微妙的泄密例子。
预测潜在客户是否在银行开户时使用的特征之一是“账号”。 很明显,只有开户的顾客在这个字段有价值。 训练时没有任何问题,但实际进行预测时,对所有顾客来说,这个特征是空的。 因为在预测之前不知道顾客的账户有多少,所以如果在预测之前说知道顾客的账户的话,预测模型会是什么呢
在零售网站中,如果预测用户在浏览当前页面后,下次要离开网站或浏览其他新页面,则数据泄露的一个特征是session length,即用户访问网站时浏览的页面的 该特征包含用户访问了多少次的将来的信息。 一个解决方案是将session length替换为page number in session。 在session中,此前的页面阅读总数。
在电子商务网站,向用户暴露商品后,是否购买的问题经常被预测。 显然,在这个问题上,商品的好评率是非常重要的要素,在一般的训练中使用过去的数据来制作模型,例如使用过去一周的数据,为训练数据来制作商品的好评率的情况下,如果使用该商品的当前时间的好评率,则该特征包含未来的信息,因此在曝光时该商品的好评率 例如,在2018年10月10日的22分30秒,商品I向用户u公开,最终用户u购入的商品公开时的好感度为99%,一周后,2018年10月17日的22分30秒,该商品的好感度为86%,此时使用以前的数据制作了训练样本的情况下
正在开发诊断特定疾病的模型,现在的患者训练组包括患者是否为该疾病做了手术的特征。 显然,使用这一特征可以大大提高预测的准确性,但这显然是有数据泄漏的。 因为在患者的诊断结果不出来之前,不能知道这个特征。
另一个相关的例子是患者ID,可以根据特定的诊断路径被分配患者ID。 也就是说,去专家的结果是最初的医生判断有可能生病,所以ID有可能不同。
数据泄密可分为训练数据泄密和特征泄密两大类。 训练数据泄密是测试数据和未来数据通常混在训练数据中,特征泄密是特征中包含与实际标签有关的信息。
泄密培训数据的情况可能包括:
预处理使用整个数据集(培训集和测试集)进行计算,结果会影响培训期间显示的内容。 这可以包括计算用于标准化和定标的参数、搜索用于检测和删除异常值的最小和最大特征值、使用变量在整个数据集合中的分布估计训练集合中的缺失值、以及执行特征选择的场景:
当处理时间序列数据时,另一个重要问题是未预期地使用未来事件的记录来计算预测的特性。 让我们看一下谈话长度的例子。
特征性泄密的原因可能包括:
有些不正当的特征被删除,但包括相同或相似信息的特征被忽略(例如,患者是否动过手术的特征在前一个示例中被删除但是患者ID未被删除)。
在某些情况下,数据集记录可能被有意地随机化,或者包含有关用户的特定信息(如用户的名称和位置)的字段可能被匿名化。 根据预测任务的不同,您可以取消匿名化,以查明在实际使用中不合法的用户和其他机密信息。
如果您知道什么是数据泄密,下一步就看看如何检测数据泄密。
在构建模型之前,可以对数据进行搜索分析。 例如,查找与目标标记或值高度相关的特征。 例如医学诊断的例子中,患者是否为那个疾病做了手术这一特征,与是否最终得了病非常有关联性。
构建模型后,可以检查模型中是否有非常重要的特征泄密。 或者,在构建模型后,如果发现模型的效果惊人,则需要考虑是否发生了数据泄密。
另一种更可靠的检漏方法是有限的实际安排训练模型,观察训练时的性能与实际环境的表现之间是否存在较大差异。 然而,如果差异较大,则这可能是由于过拟合。
如果检测到数据泄密,该如何修复呢?
首先,在预处理数据时,应该使用分割的训练集而不是使用整个数据集计算。
在处理时间序列问题时,必须使相关特征的时间戳与发生时间一致,以免训练数据中出现来自未来的信息。
并且,对于与预测目标的相关性特别高,或者模型中的权重特别高的特征,要好好检查是否发生了数据泄密,如果是的话,一定要排除。
【编辑推荐】
安企神软件系统加密软件–企业文件防泄密专家!防拷贝复制、防文件传播泄露!轻松实现单位内部文件自动加密保护,加密后的文件在单位内部正常流转使用。未经许可,任何私自拷贝加密文件外发出去,都将打开为乱码,无法使用!
对于发送给客户等第三方的文件,可实现控制打开时间和打开次数等防泄密参数!同时可设置对员工电脑文件自动备份,防止恶意删除造成核心数据的遗失!从源头防止企业核心文件被外泄!
相关内容:加密软件,文件加密,文档加密,图纸加密软件,防泄密软件,CAD加密软件,企业文件加密
实操指南:如何监控聊天中的敏感信息?这款秘籍软件,轻松掌握微信聊天动态
电影《摩登时代》里,流水线工人就连在吃饭时都要用“自动喂食机”提高效率,这样才能挤出更多时间投入工作。虽然现在打工人不至于此,但有些老板仍然放心不下……像企业聊天记录往往蕴含着大量的敏感信息。为了确保信息安全,监控聊天中的敏感信息成为了一项必要且重要的工作。以下是一款秘籍软件,帮助你轻松掌握微信聊天动态,确保信息安全。...
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过员工上班在干什么?摸鱼?打游戏?老板该怎么管理?如何才能监视怎么监控员工上班情况?监控员工上班情况可以通过多种方式实现,但重要的是要确保这些措施既合法又合规,同时尊重员工的隐私权。以下是一些建议的方法:一、制定明确的行为规范与奖惩制度1、制定行为规范: 企...
怎么监控员工上班情况?快速监控员工状态
怎么监控员工上班情况?快速监控员工状态在企业管理中,如何有效监控员工上班情况,确保工作效率与团队协作,是每位老板都需面对的课题。本文为您揭秘五招快速监控员工状态的实用技巧,不仅能帮助您实时掌握员工动态,还能提升整体管理效率。作为老板,掌握这些技巧,将让您在企业管理中游刃有余,轻松应对各种挑战。一、使用安企神软件实时监控...
安企神桌管软件:提升企业管理效率的全能助力
安企神桌管软件:提升企业管理效率的全能助力在当今竞争激烈的商业环境中,企业必须不断优化管理和运营流程,以提高效率和盈利能力。安企神桌管软件正是这样一款面向中小企业的管理工具,能够帮助企业在多方面提升综合管理水平。本文将详细探讨安企神桌管软件给企业带来的多重价值。一、全方位的管理功能安企神桌管软件是一款集成了多种管理功能...
安企神:揭开终端安全管理软件的神秘面纱
安企神:揭开终端安全管理软件的神秘面纱在数字化日益普及的今天,企业的网络安全问题愈发显得重要。数据泄露、网络攻击等事件层出不穷,如何保障企业内部信息的安全性成为众多企业关心的焦点。安企神终端安全管理软件应运而生,作为一款专业的安全管理工具,它的功能与优势备受关注。本文将全面揭秘安企神软件的核心功能、应用场景及其在终端安...