特征工程-特征清洗

特征清洗

在进行玩特征理解后,我们大致理解了面对的数据中包含哪些内容。下一阶段,我么需要对数据中的内容进行进一步分析处理,针对不同数据进行清洗。数据清洗是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性
特征工程-特征清洗_第1张图片

一.格式内容清洗

原因

  • 数据通常由人工收集或用户填写而来,很有可能存在格式和内容上的一些问题。
  • 不同版本的程序产生的内容或格式不一致;
  • 不同数据源采集而来的数据内容和格式定义不一致;

时间、日期格式不一致清洗

将时间和日期格式进行统一化后再进行统一处理

  • 建议将年月日时间格式统一为 “2019-07-20 10:99:22”;
  • 同时将不同时间颗粒度的时间数据进行对其处理,例如秒、毫秒、微秒的数据进行数据格式的对齐;

数值格式不一致清洗

根据实际需要将,不同保存格式的数据统一化,例如将一个特征下的所有数据全部统一为浮点数(float)类型。

内容中存在不应该有的字符

将不应该有的字符进行筛选与剔除,避免后续处理的问题

内容与字符要求不相符

由于人为填写错误等问题,造成填写错误或者是前端数据读取时没有校验,导致导入数据时部分没有对其或者全部没有对其。需要将其进行识别并处理。

数值类型不相符清洗

由于人为定义错误、转存、加载等原因,数据类型经常会出现数据类型不符的情况。例如:金额特征是字符串类型,实际上应该转换成int/float型。

二.逻辑错误清洗

1.数据重复

对于每个特征值都完全相同的重复数据,应该删除重复值,只保留一条。

pd.drop_duplicates()

对于数据不完全相同,但是作用完全相同的数据,也应该按需进行删除

pd.drop_duplicates(subset=['XX'], keep='last')

2.不合理内容

根据具体常识,可以明显判断出来该特征的部分数据不合理的,应该进行修改删除。例如:age:200, 月份:14

3.矛盾内容

有些字段是可以互相验证的,举例:身份证号是1101031980XXXXXXXX,然后年龄填18岁。在这种时候,需要根据字段的数据来源,来判定哪个字段提供的信息更为可靠,去除或重构不可靠的字段。

三.异常值清洗

在数据分布中,处于特定分布区域或范围之外的数据通常被定义为异常或者噪声。
异常通常分为两种:

  • 伪异常:由于业务运营策略改变导致的数据波动,是正常的业务反应,而不是数据本身的异常;
  • 真异常:非业务变化带来的巨大的数据变化,即数据本身的异常。

3.1 异常值判断

3.1.1. 基于统计分析

过分析统计数据的散度情况,即数据变异指标,来对数据的总体特征有更进一步的了解,对数据的分布情况有所了解,进而通过数据变异指标来发现数据中的异常点数据。
常用的数据变异指标有极差、四分位数间距、均差、标准差、变异系数等等,变异指标的值大表示变异大、散布广;值小表示离差小,较密集。

3.1.2. 3σ原则

若数据存在正态分布,在3σ原则下,异常值为一组测定值中与平均值的偏差超过3倍标准差的值。如果数据服从正态分布,距离平均值3σ之外的值出现的概率为 P ( ∣ x − μ ∣ > 3 σ ) < = 0.003 P(|x - μ| > 3σ) <= 0.003 P(xμ>3σ)<=0.003,属于极个别的小概率事件。如果数据不服从正态分布,也可以用远离平均值的多少倍标准差来描述。

3.1.3. 箱线图

箱线图提供了识别异常值的一个标准:如果一个值小于QL-1.5IQR或大于OU+1.5IQR的值,则被称为异常值。

箱型图判断异常值的方法以四分位数和四分位距为基础,四分位数具有鲁棒性:25%的数据可以变得任意远并且不会干扰四分位数,所以异常值不能对这个标准施加影响。因此箱型图识别异常值比较客观,在识别异常值时有一定的优越性。

3.1.4. 基于模型检测

首先建立一个数据模型,异常是那些同模型不能完美拟合的对象;如果模型是簇的集合,则异常是不显著属于任何簇的对象;在使用回归模型时,异常是相对远离预测值的对象。

3.1.5. 基于距离检测

基于距离的方法是基于下面这个假设:即若一个数据对象和大多数点距离都很远,那这个对象就是异常。通过定义对象之间的临近性度量,根据距离判断异常对象是否远离其他对象,主要使用的距离度量方法有绝对距离(曼哈顿距离)、欧氏距离和马氏距离等方法。

3.1.6. 基于密度

考察当前点周围密度,可以发现局部异常点,离群点的局部密度显著低于大部分近邻点,适用于非均匀的数据集。

3.2 数据光滑处理

检测出异常值后,对异常值进行处理。

3.2.1 分箱

分箱方法通过考察数据的近邻来光滑数据的值,有序值分布到不同的"桶"或者箱中,得到局部光滑的结果。
分箱方法:

  • 等高方法
  • 等宽方法
  • 决策树方法
3.2.2 回归

可以用一个函数(如回归函数)拟合数据来光滑数据。线性回归涉及找出拟合两个属性(或变量)的“最佳”线,是的一个属性可以用来预测另一个。多元线性回归是线性回归的扩展,其中涉及的属性多于两个,并且数据拟合到一个多维曲面。

3.3 异常值处理方法

对异常值处理,需要具体情况具体分析,异常值处理的方法常用有四种:

  • 删除含有异常值的记录;
  • 将异常值视为缺失值,交给缺失值处理方法来处理;
  • 使用均值/中位数/众数来修正;
  • 不处理。

四.缺失值清洗

4.1 造成缺失值的原因

  • 信息暂时无法获取
  • 信息没有获取成功
  • 获取的信息不可解析或不可用
  • 获取信息的要求性比较高,造成信息缺失

4.2缺失值处理方法

  • 数据删除;
  • 数据填充;
  • 不处理;

4.3 数据填充方法

  • 人工填充
  • 统计值填补
    • 均值填补
    • 最大或最小值填补
    • 前向值填补
    • 后向值填补
  • 模型预测填补
  • 插值填补
  • 期望最大化填补
  • 随机值填补

参考文章:
原文链接:https://blog.csdn.net/zhaodedong/article/details/98001930

你可能感兴趣的:(特征工程,算法,机器学习,python)