1. 数据清洗概述

数据清洗

一、概念

  现实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据挖掘,或挖掘结果差强人意。为了提高数据挖掘的质量产生了数据预处理技术。数据预处理有多种方法:数据清理数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。


二、缺失值处理

2.1. 缺失值

在实际业务中,不可避免的会出现数据缺失的现象,大概分为以下几种:

  • 人为疏忽、机器故障等客观原因导致信息缺失
  • 人为刻意隐瞒数据。
  • 数据本身不存在,如对学生群体而言,工资属性不存在。
  • 系统实时性能要求高
  • 历史局限性导致信息搜集不完整

2.2 概念

  数据集中不含缺失值的变量称为 完全变量,反之称为 不完全变量。数据缺失类型可以分为 完全随机缺失随机缺失非随机缺失

2.2.1 完全随机缺失

  对所有数据来说,所有变量的缺失概率都是相同的。数据的缺失不依赖于不完全变量或完全变量。

2.2.2 随机缺失

  数据的缺失与其他完全变量有关。如,收集家庭信息这一变量,女性比男性的数据缺失率高,其中性别为完全变量。

2.2.3 非随机缺失
  • 数据的缺失与不完全变量自身的取值有关,分为两种:
    • 缺失值依赖于未观察变量
    • 数据缺失不是随机的,取决于未观测到的变量,比如,学校开设一门课程,中途退出的人较多,可能与课程质量这一未收集变量有关
  • 缺失取决于缺失值本身
    • 缺失值的概率与缺失值本身直接相关,比如收入过高或过低人群不愿提供收入证明

2.3 处理方法

2.3.1 填充

  基于统计学原理,根据初始数据集中非缺失对象取值的分布情况来对缺失值进行填充。

  填充方法包括 人工填充,特殊值填充,热卡填充,KNN,预测模型,组合完整化方法 等。

2.3.1.1 Mean、Mode、Median估计

定类:众数填充,以数据集中类别数据量较多的类别填充

定量:均值、中位数填充

广义插补:以所有非缺失值的Mean或Median填充

相似插补:分别计算非缺失值的Mean和Median填充各类别缺失值

  • 优点:操作简单
  • 缺点
    1. 可能会改变原始数据的分布情况
    2. 可能会引入噪音结点
    3. 降低模型准确性
2.3.1.2 KNN

  通过 KNN 的方法将所有样本进行划分,通过计算欧氏距离,选取与缺失数据样本最近的 k k k 个样本,然后通过投票法或 K K K 个值加权平均来估计该样本的缺失数据。其本质是找相似插补。

  • 优点
    1. 不需要为含有缺失值的每个属性都建立预测模型
    2. 一个属性有多个缺失值也可以很容易解决
    3. 缺失值处理时把数据结构之间的相关性考虑在内
  • 缺点
    1. 面对大数据集, K N N KNN KNN 时间开销大
    2. K K K 值的选取是关键,过大或过小都会影响最终结果
2.3.1.3 回归
  • 把数据集中不含缺失部分的部分作为训练集,根据预测建立回归模型,将此模型用来预测缺失值并进行填充
  • 此方式只适用于缺失值是连续的情况
  • 预测填充理论上比值填充效果好,但若缺失值和其他变量没有相关性,则预测出的缺失值没有统计学意义。
2.3.1.4 变量映射

把变量映射到高维空间中,如男女映射为 是否男是否女,和 NULL

  • 优点
    1. 可以保留数据完整性
    2. 无需考虑缺失值
  • 缺点
    1. 计算开销大大提升
    2. 可能会出现稀疏矩阵,反而降低模型质量
2.3.2 不处理

  补齐的缺失值毕竟不是原始数据,不一定符合客观事实,对数据的填充一定程度上改变了数据的原始分布,也不排除加入了噪音节点的可能性。

  因此,对于一些无法应对缺失值的模型,可以用缺失值填充的方式补齐缺失数据,但有些模型本身可以容忍一定的数据缺失,此时可以选择不处理,比如XGBoost

2.3.3 删除

  适用于数据量大,数据缺失值少的数据集。

  完全随机缺失 可以直接用删除操作。

  80%法则 :当某一物质的非缺失部分低于总样本量的 80 % 80\% 80% 时,建议删除该物质。

  • 缺点:
    1. 直接删除会丢失部分原始数据,破坏数据的历史完整性;
    2. 数据缺失占比较多时,直接删除可能会改变原始数据的分布情况;
    3. 降低模型准确性。

三、异常值处理

3.1 概念

  异常值是偏离整体样本的观察值,也叫离群点。异常值会影响模型的精确度,因此异常值处理是数据预处理中重要的一步,在实际应用中,研究者可将其用于一些异常检测场景,比如入侵检测、欺诈检测、安全检测等。

  当异常值出现时,需了解异常出现的原因。针对不同原因,采取不同异常值处理方法,以便达到较好的数据挖掘效果。

异常值出现的原因大致有以下几种:

  • 数据输入错误。相关人员无意或故意导致数据异常,比如,客户年收入13万美元,数据登记为130万美元。
  • 数据测量、实验误差。此为较常见误差,可因测量仪器不精准导致。
  • 数据处理错误。ETL操作不当,发送数据异常。
  • 抽样错误。数据采集时包含了错误或无关数据。
  • 自然异常值。非人为因素导致的数据异常。比如,根据历史数据预测明年降水量,但今年7月降水量与前五年同期相比大大增加。

当出现异常值时,会产生以下几种影响:

  1. 增加了整体数据方差,降低了统计学检测的权威性。
  2. 异常值是随机分布,因此可能会改变数据集的正态分布。
  3. 可能会对回归、ANOVA、T检验等统计学假设的结果产生影响。

3.2 异常值检测

  异常值检测方法较多,常见的有:散点图基于分类模型的异常检测 3 σ 3\sigma 3σ原则箱型图分析

3.2.1 散点图

  将数据用散点图的形式可视化,可观察到异常值。

3.2.2 基于分类模型的异常值检测
  • 根据现有数据建立模型,然后对新数据进行判断是否偏离,偏离则视为异常值。
  • 比如:贝叶斯模型、神经网络、SVM等
3.2.3 3 σ 3\sigma 3σ原则

  若数据集服从参数为 μ \mu μ σ \sigma σ 的正太分布或高斯分布,记为 X X X ~ N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2)

  异常值若被定义为,其值与平均值偏差绝对值超过三倍标准值的差,即
P ( ∣ x − μ ∣ > 3 σ ) ≤ 0.003 P(|x-\mu|>3\sigma)\le0.003 P(xμ>3σ)0.003

3.2.4 箱型图

Q1: 上四分位数(75%位数)

Q3: 下四分位数(25%位数)

IOR: Q1 - Q3

最大估计值: Q 1 + k ∗ I O R Q1 + k * IOR Q1+kIOR

最小估计值: Q 3 − k ∗ I O R Q3 - k * IOR Q3kIOR

k k k 代表对异常值的容忍度,一般取 k = 1.5 k = 1.5 k=1.5

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值