数据清洗

1.概念

数据清洗:把脏数据清洗掉,提高数据质量。
Data cleansing, Data cleaning, Data scrubbing三种表达方式都可以,意思都是检测和去除数据集中的噪声数据和无关数据,处理遗漏数据,去除空白数据域和知识背景下的白噪声。
数据清洗分为有监督清洗和无监督清洗两类。

  • 有监督清洗:在领域专家的指导下,收集分析数据,手工去除明显的噪声数据和重复记录,填补缺值数据等清洗动作;
  • 无监督清洗:根据一定的业务规则,预先定义好数据清洗算法,由计算机自动执行算法,对数据集进行清洗,然后产生清洗报告。
  • 一般都是先无监督清洗,产生清洗报告,再让专家根据清晰报告对清洗的结果进行人工整理。

2.数据清洗过程

数据清洗一般包括数据分析,定义和执行清洗规则,清洗结果验证等步骤:

1. 数据分析

根据相关的业务知识,应用相应的技术,如统计学,数据挖掘的方法,分析出数据源中数据的特点,为定义数据清洗规则奠定基础。
除手工测查数据或数据样本之外,还可以用专门的分析程序来分析数据源。
数据分析的结果是数据源一些数据质量问题的描述,被保存到元数据库中。

2. 定义清洗规则

主要的清洗规则包括:
* 空值的检查和处理
* 非法值的检测和处理
* 不一致数据的检测和处理
* 相似重复记录的检测和处理

3. 执行数据清洗规则

  • 检查拼写错误
  • 去掉重复的(duplicate)记录
  • 补上不完全的(incomplete)记录
  • 解决不一致的(inconsistent)记录
  • 用测试查询来验证数据
  • 生成数据清晰报告

4.清洗结果验证

对定义的清洗转换规则的正确性和效率进行验证和评估,当不满足清洗要求时要对清洗规则或系统参数进行调整和改进。
数据清洗过程中往往需要多次迭代的进行分析,设计和验证。

3.属性清洗

1. 属性清洗的内容

  • 错误或非法数据
  • 拼写错误
  • 空值
  • 异常数据
  • 不一致数据
  • 嵌入值。一个属性值包含多个组成成分,如,地址=”上海市东川路800号上海交通大学“。就可以分解成:地址=”上海市东川路800号“,学校=”上海交通大学“。

2. 属性清洗的基本方法

  1. 空值数据的清洗

    • 空值数据的语义

      • 不存在型空值。即无法填入的值,如一个未婚者的配偶姓名。
      • 存在型空值。该类空值的实际值在当前是未知的,但它有确定性的一面,如它的实际值的确存在,总是落在一个可以确定的区间内。
      • 占位型空值。即无法确定是不存在型空值还是存在型空值。一般情况下,空值是指存在型空值。
    • 空值数据的处理方法

      • 删除包含空值的记录(空值占比重很小而不重要时可以采用)
      • 自动补全方法。通过统计学原理,根据数据集中记录的取值分布情况来对一个空值进行自动填充,可以用平均值,最大值,最小值等基于统计学的客观知识来填充字段。
      • 手工的补全缺失值。仅适用于非常重要的任务数据。
      • 对空值不正确的填充往往将新的噪声引入数据中,使知识获取产生错误的结果。当数据集的数量很大且有较多缺失值的情况下,效率很差。
  2. 不一致数据属性清洗

    • 不一致数据的语义
    • 冗余性不一致。相同的信息没有进行一致性的同步更新。
    • 故障性不一致。由于某种原因(硬件或软件故障)而造成数据丢失或数据损坏,系统进行恢复时,不能恢复到完全正确,完整,一致的状态。
    • 不一致数据处理的基本方法
    • 清洗方法主要在分析不一致产生原因的基础上,利用各种变换函数,格式化函数,汇总分解函数去实现清洗。
  3. 噪声数据的清洗

    • 噪声数据的语义
      噪声数据就是除空值数据,不一致数据以外的其他不准确。不客观数据,该类噪声数据,可能会导致错误的数据分析结果。
    • 噪声数据的基本处理方法
      • 分箱:将存储的值分布到一些箱中,用箱中的数据值来局部平滑存储数据的值。包括按箱平均值平滑,按箱中值平滑和按箱边界值平滑。
      • 回归:找到恰当的回归函数来平滑数据。线性回归要找出适合两个变量的”最佳“直线,使得一个变量能预测另一个。多线性回归涉及多个变量,数据要适合一个多维面。
      • 计算机检查和人工检查相结合:可以通过计算机将被判定数据与已知的正常值比较,将差异程度大于某个阈值的模式输出到一个表中,人工审核后识别出噪声数据。
      • 聚类:将类似的值组成群或”聚类“,落在聚类集合之外的值被视为孤立点。孤立点可能是垃圾数据,也可能是提供信息的重要数据。垃圾数据将清除。

3. 属性清洗的过程

  • 分析数据集中的属性值
  • 定义属性值清洗规则
  • 执行属性清洗规则

你可能感兴趣的:(机器学习,数据挖掘)