7、机器学习中的数据泄露(Data Leakage)

news2024/11/20 14:24:35

找到并修复这个以微妙的方式破坏你的模型的问题。

数据泄露这个概念在kaggle算法竞赛中经常被提到,这个不同于我们通常说的生活中隐私数据暴露,而是在竞赛中经常出现某支队伍靠着对极个别feature的充分利用,立即将对手超越,成功霸占冠军位置,而且与第二名的差距远超第二名与第十名的差距,那么很有可能是出现了数据泄露(Data Leakage)这些feature却不是在因果关系上顺利解释预测值的‘因’,反而是预测值的‘果’。

在本教程中,您将了解什么是数据泄漏以及如何防止数据泄漏。如果你不知道如何防止它,泄漏将经常出现,它将破坏您的模型在微妙和危险的方式。因此,对于实践数据科学家来说,这是最重要的概念之一。

本课程所需数据集夸克网盘下载链接:https://pan.quark.cn/s/9b4e9a1246b2 提取码:uDzP

文章目录

  • 1、简介
  • 2、两种主要泄漏类型
    • 2.1目标泄漏
    • 2.2Train-Test 污染
  • 3、举例
  • 4、总结
  • 5、接下来呢

1、简介

当训练数据包含目标信息时,会发生数据泄漏(或泄漏) Data leakage (or leakage) ,但是当模型用于预测时,类似的数据将不可用。这将导致在训练集(甚至可能是验证数据)上获得高性能,但是该模型在生产中的性能将很差。

换句话说,泄漏会导致模型看起来很精确,直到您开始使用该模型做出决策,然后该模型变得非常不精确。

2、两种主要泄漏类型

有两种主要类型的泄漏: target leakage** 和train-test contamination.

2.1目标泄漏

当预测器包含在进行预测时不可用的数据时,就会发生目标泄漏。重要的是要考虑目标泄漏的时间或数据变得可用的时间顺序,而不仅仅是一个特征是否有助于做出良好的预测。

举个例子会有帮助的。假设你想预测谁会得肺炎。原始数据的前几行如下:

got_pneumonia age weight male took_antibiotic_medicine
False 65 100 False False
False 72 130 True False
True 58 100 False True

人们在患肺炎后服用抗生素药物是为了恢复健康。

原始数据显示这些列之间有很强的关系,但是在确定got_pneumonia的值之后,took_antibiotic_medicine经常被更改。

这是目标泄漏。该模型将看到,任何对took_tic_medicine值为False的人都没有患肺炎。

由于验证数据与培训数据来自同一个源,因此模式将在验证中重复,并且模型将具有良好的验证(或交叉验证)得分。

但这个模型在随后的实际应用中会非常不准确,因为即使是肺炎患者,在我们需要对他们未来的健康状况做出预测时,他们也不会使用抗生素。

为了防止这种类型的数据泄漏,应该排除在实现目标值之后更新(或创建)的任何变量。
在这里插入图片描述

2.2Train-Test 污染

当我们不小心将训练数据与验证数据区分开来时,就会发生另一种类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1402025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-1最优控制问题与性能指标

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-1最优控制问题与性能指标

基于OpenSSL的SSL/TLS加密套件全解析

概述 SSL/TLS握手时,客户端与服务端协商加密套件是很重要的一个步骤,协商出加密套件后才能继续完成后续的握手和加密通信。而现在SSL/TLS协议通信的实现,基本都是通过OpenSSL开源库,本文章就主要介绍下加密套件的含义以及如何在O…

机器人制作开源方案 | 全自动导航分拣机器人

作者:孙国峰 董阳 张鑫源 单位:山东科技大学 机械电子工程学院 指导老师:张永超 贝广霞 1. 研究意义 1.1 研究背景 在工业生产中,机器人在解决企业的劳动力不足,提高企业劳动生产率,提高产品质量和降低…

【设计模式】适配器和桥接器模式有什么区别?

今天我探讨一下适配器模式和桥接模式,这两种模式往往容易被混淆,我们希望通过比较他们的区别和联系,能够让大家有更清晰的认识。 适配器模式:连接不兼容接口 当你有一个类的接口不兼容你的系统,而你又不希望修改这个…

【笔记】Blender4.0建模入门-3物体的基本操作

Blender入门 ——邵发 3.1 物体的移动 演示: 1、选中一个物体 2、选中移动工具 3、移动 - 沿坐标轴移动 - 在坐标平面内移动 - 自由移动(不好控制) 选中物体:右上的大纲窗口,点击物体名称,物体的轮…

【Python 元编程】装饰器入门指南

Python装饰器入门指南🚀 在编程世界中,效率和优雅的代码往往是我们所追求的目标。Python 作为一种强大且灵活的编程语言,提供了一个称为“装饰器”的功能,让我们能够以一种简洁和优雅的方式扩展和管理我们的代码。 本文旨在为初…

利用appium自动控制移动设备并提取数据

安装appium-python-client模块并启动已安装好的环境 安装appium-python-client模块 在window的虚拟环境下执行pip install appium-python-client 启动夜神模拟器,进入夜神模拟器所在的安装路径的bin目录下,进入cmd终端,使用adb命令建立adb…

生产环境 OpenFeign 的配置最佳实践

基础使用 OpenFeign 全方位讲解 1. 生产环境 OpenFeign 的配置事项 1.1 如何更改 OpenFeign 默认的负载均衡策略 warehouse-service: #服务提供者的微服务IDribbon:#设置对应的负载均衡类NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule1.2 开启默认的 O…

C++ //练习 2.14 下面的程序合法吗?如果合法,它将输出什么?

C Primer&#xff08;第5版&#xff09; 练习 2.14 练习 2.14 下面的程序合法吗&#xff1f;如果合法&#xff0c;它将输出什么&#xff1f; int i 100, sum 0; for(int i 0; i ! 10; i)sum i; std::cout<<i<<" "<<sum<<std::endl;环境…

scipy通过快速傅里叶变换实现滤波

文章目录 fft模块简介fft函数示例滤波 fft模块简介 scipy官网宣称&#xff0c;fftpack模块将不再更新&#xff0c;或许不久之后将被废弃&#xff0c;也就是说fft将是唯一的傅里叶变换模块。 Fourier变换极其逆变换在数学上的定义如下 F ( ω ) ∫ − ∞ ∞ f ( t ) e − i ω…

Python图像处理【19】基于霍夫变换的目标检测

基于霍夫变换的目标检测 0. 前言1. 使用圆形霍夫变换统计图像中圆形对象2. 使用渐进概率霍夫变换检测直线2.1 渐进霍夫变换原理2.2 直线检测 3. 使用广义霍夫变换检测任意形状的对象3.1 广义霍夫变换原理3.2 检测自定义形状 小结系列链接 0. 前言 霍夫变换 (Hough Transform,…

2024最新:optee系统开发精讲 - 课程介绍

&#xff08;本课程中如有涉及代码或硬件架构&#xff0c;则对应的版本号&#xff1a;TF-A 2.80&#xff0c;optee 3.20, Linux Kernel 6.3&#xff0c;armv8.79.0的aarch64&#xff09; &#xff08;注意&#xff1a; 该课程没有PPT&#xff0c;该课程是对照代码讲解的&#x…

回归预测 | Matlab基于ABC-SVR人工蜂群算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于ABC-SVR人工蜂群算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于ABC-SVR人工蜂群算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于ABC-SVR人工蜂群算法优化支持…

矩阵重叠问题判断

创作背景 看到一道题目有感而发想写一篇题解&#xff0c;涉及的是一种逆向思维 桌面窗体重叠 - 洛谷https://www.luogu.com.cn/problem/U399827题目来源于《信息学奥赛课课通》 大致就是给一个长方形的左上顶点坐标&#xff08;x1,y1&#xff09;和右下顶点坐标&#xff08;x…

面试题:SpringBoot项目怎么设计业务操作日志功能?

文章目录 前言需求描述与分析系统日志操作日志 设计思路Spring AOPFilter和HandlerInterceptorSpringAOP、过滤器、拦截器对比 实现方案环境配置依赖配置表结构设计代码实现 测试调试方法验证结果 总结 前言 很久以前都想写这篇文章&#xff0c;一直没有空&#xff0c;但直到现…

【QT+QGIS跨平台编译】之一:【sqlite+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、sqlite3介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、sqlite3介绍 SQLite是一款轻型的数据库&#xff0c;是遵守ACID的关系型数据库管理系统&#xff0c;它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的&…

MSVS C# Matlab的混合编程系列2 - 构建一个复杂(含多个M文件)的动态库:

前言: 本节我们尝试将一个有很多函数和文件的Matlab算法文件集成到C#的项目里面。 本文缩语: MT = Matlab 问题提出: 1 我们有一个比较复杂的Matlab文件: 这个MATLAB的算法,写了很多的算法函数在其他的M文件里面,这样,前面博客的方法就不够用了。会报错: 解决办法如下…

[学习笔记]刘知远团队大模型技术与交叉应用L3-Transformer_and_PLMs

RNN存在信息瓶颈的问题。 注意力机制的核心就是在decoder的每一步&#xff0c;都把encoder的所有向量提供给decoder模型。 具体的例子 先获得encoder隐向量的一个注意力分数。 注意力机制的各种变体 一&#xff1a;直接点积 二&#xff1a;中间乘以一个矩阵 三&#xff1a;…

Opncv模板匹配 单模板匹配 多模板匹配

目录 问题引入 单模板匹配 ①模板匹配函数: ②查找最值和极值的坐标和值: 整体流程原理介绍 实例代码介绍: 多模板匹配 ①定义阈值 ②zip函数 整体流程原理介绍 实例代码: 问题引入 下面有请我们的陶大郎登场 这张图片是我们的陶大郎,我们接下来将利用陶大郎来介绍…

恒悦sunsite博客2023年总结及2024年展望

一、2023年总结 一年如一日的坚持做好一件事并不是容易的事情&#xff0c;但是只要我们坚持下去&#xff0c;乘风破浪会有时&#xff0c;直挂云帆济沧海。   2023年是意义非凡的一年&#xff0c;年初的时候自己定下了两个目标&#xff1a;第一个是完成博客专家认证&#xff1…