数据预处理-缺失值处理

  • 缺失值类型
  • 不完全变量
    • 完全随机缺失
    • 随机缺失
    • 完全非随机缺失
  • 缺失值补全
    • 1-均值查补
    • 2-同类均值插补
    • 3-建模预测
    • 4-高维映射
    • 5-多重插补
    • 6-手动插补

数据预处理完整目录

缺失值类型

在对缺失数据进行预处理前,了解数据缺失的机制和形式是十分必要的。将数据集中不含缺失值的变量称为完全变量,数据集中含有缺失值的变量称为不完全变量

不完全变量

完全随机缺失

missing completely at random, MCAR
指的是数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。如家庭地址缺失。

随机缺失

mission at random,MAR
指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。
如财务数据缺失情况与企业的大小有关。

完全非随机缺失

mission not at random,MNAR
指的是数据的缺失与不完全变量自身的取值有关。
如高收入人群不愿意提供家庭收入

缺失值补全

1-均值查补

将初始数据集中的属性分为数值属性和非数值属性来分别进行处理。
非数值型缺失值:根据统计学中的众数原理,用该属性在其他所有对象的取值次数最多的值,补齐该缺失的属性值。比如一个学校的男生和女生的数量,男生500,女生50,那么对于其余的缺失值我们会用人数较多的男生来填补。
数值型缺失值:使用平均值或者中位数填补,比如一个班级学生的身高特征,对于一些同学缺失的身高值就可以使用全班同学的平均值或中位数来填补。

优点:简单
缺点:可能会引入噪音。或者会改变特征原有的分布(数据倾斜、数据分布畸变)

一般如果特征分布为正态分布时,使用平均值效果比较好。否则使用中位数比较好。
如果缺失值是随机缺失,使用平均值会比较好,因为可以使数据分布不发生畸变。

2-同类均值插补

原理:用无监督机器学习聚类的方法预测缺失变量的类型,再以该类型的均值插补。
所有样本进行聚类划分,然后通过划分的种类的均值对各自类中的缺失值进行填补。
假设 X = ( X 1 , X 2 . . . X p ) X=(X_1,X_2...X_p) X=(X1​,X2​...Xp​)为信息完全的变量, Y Y Y为存在缺失值的变量,那么首先对 X X X或其子集行聚类,然后按缺失个案所属类来插补不同类的均值。如果在以后统计分析中还需以引入的解释变量和 Y Y Y做分析,那么这种插补方法将在模型中引入自相关,给分析造成障碍。

3-建模预测

将缺失的属性作为预测目标来预测,将数据集按照是否含有特定属性的缺失分为两类,利用现有的机器学习算法对待预测数据集的缺失值进行预测。例如回归预测,即基于完整的数据集,建立回归方程。对于有缺失值的特征值,将已知特征代入模型来评估未知特征,以此估值来填充。
个人感觉:以假设来假设…

4-高维映射

原理:将属性映射到高维空间
对于分类型变量:男、女或缺失的情况,采用One-hot编码,映射成三个变量,是否男、受否女、是否缺失
对于连续型变量,首先对连续变量进行变量分箱,采用一定的数据平滑方式(平均值/中值/箱边界)进行离散化,然后增加是否缺失这种维度

优点:精准,保留了原始数据大部分信息,也未添加任何额外信息
缺点:计算量提升,只有在样本量非常大的时候效果还好,否则会因为数据过于稀疏,效果很差。

5-多重插补

原理:多重插补认为待插补的值是随机的,它的值来自已观测到的值。实践上通常是估计出待插补的值,再加上不同的噪音,形成多组可选插补值,根据某种选择依据,选择最合适的插补值

1.为每个缺失值产生一套可能的插补值,这些值反映了无响应模型的不确定性;
2.根据数据缺失机制、模式以及变量类型,可分别采用回归、预测均值匹配(predictive mean matching,PMM)、趋势得分(propensity score,PS)、Logistic回归、判别分析以及马尔科夫链蒙特卡洛(Markov Chain Monte Cario,MCMC)等不同的方法进行填补
3.评估填补值是否可信。插补值应该接近数据。显示不能的数据值(例如负数、怀孕的父亲)不应该出现在插补值的数据中。插补值应尊重变量之间的关系,并反应其“真实”值的适当不确定性。根据评分函数进行选择,产生最终的插补值。

6-手动插补

原理:根据业务知识,具体问题具体分析,手动对缺失值进行插补。

数据预处理-缺失值处理相关推荐

  1. 数据预处理+缺失值处理方案+Missing Value+pandas+缺失值填充方法、方案

    数据预处理+缺失值处理方案+Missing Value+pandas+缺失值填充方法.方案 缺失值+sklearn from sklearn.preprocessing import Imputer ...

  2. 二、数据预处理——缺失值处理

    二.数据预处理--缺失值处理 点击标题即可获取文章相关的源代码文件哟! 机器学习和数据挖掘中所使用的数据,永远不可能是完美的.很多特征,对于分析和建模来说意义非凡,但对于实际收集数据的人却不是如此,因 ...

  3. 有效值和峰峰值的关系_4.数据预处理—缺失值处理(二)

    理想的状态下,数据都是直接可用.规律的,但现实中的数据总会有各种问题,比如:数据缺失.格式不一致.含噪声(数据中存在错误/异常值).数据不一致(不能相互验证)等--在数据分析的工作中,数据处理占了大部 ...

  4. 数据预处理--缺失值填补《菜菜学习笔记》

    目录 引言 一.缺失值填补 impute.SimpleImputer函数 1.1 Simplelmputer四个重要参数 1.2 用各个值填补演示 1.3 在这里我们使用中位数填补Age,用众数填补E ...

  5. [Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]

    前言 系列文章目录 [Python]目录 视频及资料和课件 链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234 提取码:1234 文 ...

  6. python预处理缺失值_[Scikit-Learn] - 数据预处理 - 缺失值(Missing Value)处理

    reference : http://www.cnblogs.com/chaosimple/p/4153158.html 关于缺失值(missing value)的处理 在sklearn的prepro ...

  7. python数据预处理_Python数据预处理——缺失值、重复值

    一.缺失值处理 isnull( ) .fillna( ) .dropna( ) (1)查看 缺失 查看数据集缺失,返回每列的缺失个数 df.isnull().sum() 查看某字段有缺失的行 df[d ...

  8. Python商品数据预处理与K-Means聚类可视化分析

    数据提取 在我之前的文章Scrapy自动爬取商品数据爬虫里实现了爬虫爬取商品网站搜索关键词为python的书籍商品,爬取到了60多页网页的1260本python书籍商品的书名,价格,评论数和商品链接, ...

  9. 泰坦尼克号python数据预处理_sklearn preprocessing 数据预处理(OneHotEncoder)

    1. one hot encoder one hot encoder 不仅对 label 可以进行编码,还可对 categorical feature 进行编码: >>> from ...

最新文章

  1. 如何在同一台电脑开启多个tomcat服务器
  2. python如何帮我在投资中获取更高收益
  3. win10无法连接wifi_Win10系统笔记本WIFI无法使用处理
  4. Qt:解决使用png图片时,报错libpng warning: iCCP: known incorrect sRGB profile的问题
  5. svn: E200033: database is locked, executing statement 'RELEASE   s0' 问题解决办法
  6. input file multiple 配合springmvc实现多文件上传
  7. 35岁腾讯员工:准备退休!1kw房产+1kw股票+3百万现金,勉强够用了
  8. php给超链接添加图标,图片超链接怎么设置
  9. 计算机常用压缩软件有哪些,电脑用什么解压缩软件比较好?
  10. 课课通指针练习之排除异常基因
  11. linux编辑框软键盘自动弹出,带输入框的Dialog自动弹出软键盘
  12. 当使用VMware给虚拟机扩展硬盘容量时,显示无法扩展容量并提示:在部分链上无法执行所调用的函数,请打开父虚拟磁盘。
  13. vue地图绘制圆形、椭圆、矩形或其他自定义图案
  14. 网课/网校/知识付费/在线教育系统,100%全功能开源,可免费商用
  15. 甲醇合成技术的研究进展
  16. python获取目标时间距离现在多长时间(‘2020-5-30 23:40:00‘)
  17. [4G5G专题-84]:架构 - 4G LTE 空中接口与协议栈
  18. python中getattr()和setattr()的使用
  19. Microsoft Windows Win32k本地提权漏洞分析
  20. 最全的linux上git教程

热门文章

  1. RISCV ISS Spike 介绍
  2. short message
  3. 新安装的office(已激活),出现新建没有Word
  4. 台式计算机usb接口无反应6,如何解决电脑的USB接口没反应,详细教您如何解决
  5. 极值理论(二):阈值超越量与尾部估计
  6. 带你快速看完9.8分神作《Effective Java》—— 序列化篇(所有RPC框架的基石)
  7. STM32CubeMX学习笔记(5)——基本定时器接口使用
  8. Android SDK 国内镜像
  9. Java fx 变速播放音乐_变速变声播放器(Impulse Media Player)
  10. Linux 7 种文件类型