数据清洗遇到的问题思考

2023-10-27

因为本次任务是基础的数据预处理和数据集划分,所以本次讨论不涉及特征工程和模型相关的。

问题一 缺失数据

有很多人问到了缺失值处理的问题。统一汇总提问:

  • 为什么需要处理缺失值?
    确实值会影响模型训练,某些特征值确实,有可能使得该条样本完全是负样本,影响模型。

  • 缺失率大于多少时应当抛弃该特征?
    一半比例的数据可以丢弃

  • 缺失值填充有哪些方法?
    缺失值填充方法:

    • 特殊值、均值、中位数、众数等
    • 随机插补法----从总体中随机抽取某个样本代替缺失样本
    • 多重插补法----通过变量之间的关系对缺失数据进行预测,利用蒙特卡洛方法生成多个完整的数据集,在对这些数据集进行分析,最后对分析结果进行汇总处理
    • 热平台插补----指在非缺失数据集中找到一个与缺失值所在样本相似的样本(匹配样本),利用其中的观测值对缺失值进行插补
    • 拉格朗日差值法和牛顿插值法
      缺失值不多的时候,有时也可以不用处理,xgb之类的模型可以处理
      处理缺失值的时候大多会选用中位数、均值或是二者的融合来对数值型特征进行填补,使用出现次数最多的类别来填补缺失的类别特征。
  • 采用均值填充的影响或者优缺点?
    缺点:大大降低数据的方差,即随机性5 需要依据什么样的准则去选择合适的方法?
    (1) 删除

    • 如果行和列的缺失达到一定的比例,建议放弃整行或整列数据(2) 插补
    • 列的维度上,如果是连续性,就使用平均值插补,如果是离散性,就使用众数来插补
    • 行的维度上,引入预测模型,可考虑辅助回归,通过变量间的关系来预测缺失数据

(3) 不处理
当缺失值对模型的影响不大时,直接在包含空值的数据上进行数据挖掘

  • 需要依据什么样的准则去选择合适的方法?
    具体可以看数据分布情况,及业务情况。常见的能够自动处理缺失值的模型包括:KNN、决策树和随机森林、神经网络和朴素贝叶斯、DBSCAN。

离群值如何处理

大多数的参数统计数值,如均值、标准差、相关系数 等,以及基于这些参数的统计分析,均对离群值高度敏感。因此,离群值的存在会对数据分析造成极大影响

特征太多了

这个情况在银行业普遍存在,当然,其他领域估计也会有。以我个人经历,在实际生产中会有一张表超过300个字段的情况,哪些字段该要哪些不该要确实比较麻烦。我采取的方式是首先去判断哪些字段值重复率较高,这个通过sql语句group by可以直接看出来。其次把数据通过spss对每一个特征进行分析,是绘图还是简单的分析,软件里面都有提供,基本上通过上面两步保证百分之七八十吧,如果仅仅是是在数据探索阶段的话,基本上就完成了

时间序列如何处理

依情况处理,主要看单独时间字段或时间字段与某些字段的组合属性对目标分析的作用程度,再采取相应方式来进行特征提取比如:可以将时间字段与其他字段属性进行组合,分析每天、每周、每月或特点星期几等情况下特征数据频率信息,总的来说还是得看分析得目标。
时间特征处理:Python标准库包含用于日期(date)和时间(time)数据的数据类型,而且还有日历方面的功能。参考资料:https://www.jianshu.com/p/29ece4592178 《利用Python进行数据分析·第2版》第11章 时间序列

某些特征编码问题

有些特征离散值有1000个,如何编码?
好像有两种编码,一种是one-hot,那就是彼此之间没关系。一种是dummy,那就是有顺序性的特征。或者城市那个特征,用map处理成一线城市、二线城市、三线城市等等,这样对城市进行归类。如果用数值来反映就会存在一个问题:因为1,2,3,4,5会导致有排序关系。所以会有依赖关系。所以我们就需要根据实际情况去判断,我们的类别间到底存不存在距离关系。比如成绩的 优良差。他们是有距离关系的,差和优的"距离"确实比 良和优的"距离”要远的。

数据不平衡问题

数据不平衡会导致衡量指标(如:准确率、召回率)异常的好。可以用上采样 、下采样 、smote等方法,这些都是从数据集数量本身的角度出发,增加少的类别 减少多的类别

关于过采样和欠采样推荐大家看一个博客,写的挺详细的https://blog.csdn.net/qq_27802435/article/details/81201357。另外这是imbalanced-learn的官方文档https://imbalanced-learn.readthedocs.io/en/stable/api.html,具体效果图里面都有。另附github链接:https://github.com/scikit-learn-contrib/imbalanced-learn/tree/12b2e0d2858a30d4687fbf910372b8f416b33998

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据清洗遇到的问题思考 的相关文章

随机推荐

  • HTML标签marquee实现文字,图片等滚动效果

    HTML标签marquee实现文字 图片等滚动效果 页面的自动滚动效果 可由javascript来实现 也可以由一个html标签 就可以实现多种滚动效果 无需js控制 使用marquee标记不仅可以移动文字 也可以移动图片 表格等 语法 说
  • maven集成tomcat插件以及乱码解决

    Maven已经是Java的项目管理标配 如何在JavaEE开发使用Maven调用Web应用 是很多同学关心的问题 本文将介绍 Maven如何介绍Tomcat插件 Maven Tomcat插件现在主要有两个版本 tomcat maven pl
  • csdn博客推荐系统实战-5文本聚类-话题模型LDA

    话题模型topic model是自然语言处理领域里面热门的一个技术 可以用来做很多的事情 例如相似度比较 关键词提取 分类 还有就是具体产品业务上的事了 总之可以干很多的事情 今天不会讲LDA模型的很多细节和原理 没有满屏的数学公式 只讲一
  • OpenGL光源位置

    一 OpenGL光源简介 OpenGL提供了多种形式的光源 如点光源 平行光源和聚光灯光源等 所有光源都使用 glLight 接口来设置光源属性 其中包括 glLight if 和 glLight if v 两类 1 示例光源 GLfloa
  • 下载好unity后打开出现这个弹窗怎么解决

    unity我重新下了两遍 始终出现这个弹窗 无法打开unity 始终找不到许可 急求 谢谢
  • Matlab 中三角函数

    Matlab 中三角函数 atan2 基本数学函数 abs 绝对值 acos 反余弦 acosh 反双曲余弦函数 acot 反余切 acoth 反双曲线余切 acsc 反余割 acsch 反双曲线余割 angle 相位角 asec 反正割
  • Materials Studio工具模块介绍

    相关教程和破解版软件包下载链接为 https blog csdn net qwxwaty article details 80402505 各模块细节介绍 Materials Visualizer Materials visualizer
  • 总结ctf中 MD5 绕过的一些思路

    总结ctf中 MD5 绕过的一些思路 1 常规的0e绕过 2 数组绕过 3 强类型绕过 4 a md5 a 5 md5 与SQL注入 a b md5 a md5 b sha1 a sha1 b 1 常规的0e绕过 QNKCDZO 24061
  • mapbox 在 vue2 中的使用

    一 Mapbox 在 vue 中的使用 安装 mapbox mapbox gl geocoder npm install save mapbox mapbox gl geocoder 安装 mapbox mapbox gl language
  • (三)原生JavaScript----Ajax的Get请求和Post请求

    三 原生JavaScript使用Ajax的步骤 Router js中有get post接口 一 定义一个ajax函数 const ajax function 二 获取节点值 Ajax函数中 let username document get
  • golang时间-时间戳的获取-转换-计算

    一 获取时间 1 1 获取当前时间 代码实现 package main import fmt time func main currentTime time Now 当前时间 currentYear time Now Year 当前年 cu
  • 浅谈Spring

    Spring是一个轻量级的控制反转 IoC 和面向切面 AOP 的容器 框架 一 什么是IOC IoC Inversion of Control 翻译成中 是 控制反转 的意思 也就是说 Spring 是 个 控制反转 的容器 1 1控制反
  • python可视化学习七(边缘箱型图)

    边缘箱线图 箱图是用来显示变量分布的统计图 直方图更看重与在取值范围内的分布 而箱线图更看重于观察变量间的重要分割点 箱线图能够显示数据分布的关键数据的节点 常用来作为查找异常值的方式 1当直方图的分布越接近正态分布 箱线图就会越对称 2直
  • 栈区,堆区,全局区,文字常量区,程序代码区 详解

    原博地址 http blog csdn net yitian20000 article details 6358837 感觉这篇文章讲的很清晰 很详细 一 预备知识 程序的内存分配 一个由C C 编译的程序占用的内存分为以下几个部分 1 栈
  • typora用户指南

    Typora 一直是我认为桌面端笔记应用应有的终极形态 用我之前 一篇文章 中的话来说就是 它的功能之强大 设计之冷静 体验之美妙 理念之先进 我认为值得所有笔记应用厂商学习 但一件很尴尬的事情是 由于它极简的设计理念 有许多使用者并没能完
  • liunx ftp 421 passive mode refused([linux]配置 vsftp 启用被动模式(passive mode)解决客户端“no route to host“错误)

    系统 CentOS 修改 vsftpd conf 启用被动模式 指定端口 pasv min port 12000 pasv max port 12199 pasv enable YES 配置防火墙 iptables 允许端口访问 iptab
  • vue2项目(二)---Header、Footer

    非路由组件 Header Footer 首页 搜索页 路由组件 Home首页 Search搜索 login登录 无Footer register注册 无Footer 开发项目的步骤 1 书写静态页面 HTML CSS 2 拆分组件 路由 非
  • 华为机试:敏感字段加密

    题目来源 华为机试 敏感字段加密 题目描述 题目解析 要求 删除命令字前后多余的下换线 对指定索引的敏感字段进行加密 替换为 无法找到指定索引的命令字 输出字符串ERROR 分析 如果遇到大小写字母 数字 这一定是密码 可能需要替换成6个
  • Qt 使用共享库

    创建动态库工程 选择模块需要注意的是如果想要将GUI封装成一个动态库 那么必须要要将QtWidgets选中 不然是不能生成ui xxx h头文件的 接下来直接都下一步直到创建好就好 创建好之后会有两个头文件 一个 cpp文件 Global
  • 数据清洗遇到的问题思考

    因为本次任务是基础的数据预处理和数据集划分 所以本次讨论不涉及特征工程和模型相关的 问题一 缺失数据 有很多人问到了缺失值处理的问题 统一汇总提问 为什么需要处理缺失值 确实值会影响模型训练 某些特征值确实 有可能使得该条样本完全是负样本