涉及内容:数据清洗的背景/定义/原理/基本流程/策略与方法
1.1 数据清洗的背景
数据质量的好坏决定了数据分析与数据挖掘能否获得理想的结果。数据清洗可以提高数据质量,排除干扰,得出有效、可靠的数据,以此支持决策。
1.1.1 数据质量概述
数据质量是指在业务环境下,数据符合数据消费者的使用目的,能满足业务场景具体需求的程度。当然,数据质量是一个相对的概念,不同决策者对数据质量的高低要求不同。其显著特点为:
- “业务要求“会随时间变化,数据质量也会随时间发生变化。
- 数据质量可以借助信息系统度量,但独立于信息系统存在。
- 数据质量存在于数据的整个生命周期,随着数据的产生而产生,随着数据的消失而消失。
1.1.2 数据质量的评价指标
数据质量的评价指标主要包括数据的准确性、完整性、简洁性及适用性。
1.准确性
为提高准确性,需对数据集进行降噪处理。数据中偏离常规、分散的小样本数据一般可视为噪声或异常数据,可通过异常值检测方法聚类进行处理。
2.完整性
完整性指的是数据信息是否存在缺失的状况。(处理数据缺失)
3.简洁性
要尽量选择重要的本质属性,并消除冗余。要抓住主要因素,不拘小节。
4.适用性
适用性是评价数据质量的重要标准,是评价数据质量的核心准则。数据的质量是否能满足决策的需要是适用性的关键所在。
1.1.3 数据质量的问题分类
数据质量的问题可以分为两类:一类是基于数据源的“脏”数据分类;另一类是基于清洗方式的“脏”数据分类。
1.基于数据源的“脏”数据分类
“脏”数据:数据源中不完整、重复以及错误等有问题的数据。
基于数据源的“脏”数据质量问题可分为:单数据源问题和多数据源问题。
2.基于清洗方式的“脏”数据分类
从数据清洗方式的设计者角度看,可将“脏”数据分为两类:独立性“脏”数据和依赖性“脏”数据。
(1)独立型“脏”数据
独立型“脏”数据可通过记录或本身属性检测出是否包含“脏”数据。(数据合法性检验规则)
数据转换是将“脏”数据进行清洗的过程,包括模式转换和实力转换。
(2)依赖型“脏”数据
依赖性“脏”数据主要包括缺失数据和重复数据等“脏”数据。
1.2 数据清洗的定义
数据清洗技术是提高数据质量的有效方法。数据清洗主要应用在3个邻域:数据仓库领域、数据挖掘邻域以及数据质量管理邻域。
- 在数据库领域中,当多个数据库合并时或多个数据源进行集成时,都需要进行数据清洗。在数据仓库环境中,数据清洗主要包括数据的清晰和结构的转换两个过程。
- 在数据挖掘领域中,数据清洗是数据进行预处理过程的第一步骤。在数据预处理应用中,数据清洗的主要任务是提高数据的可用性,即去除噪声、无关数据以及空值等,并考虑数据的动态变化。在字符风分类中问题中,通过使用机器学习的技术进行数据清洗,即使用特定算法检测数据库对缺失和错误的数据予以修改。
- 在数据质量管理领域中,数据质量管理主要用于解决信息系统中的数据质量及集成问题。
1.3 数据清洗的原理
数据清洗是利用相关技术将“脏”数据转换为满足质量要求的数据,其目的是解决“脏”数据问题,将“脏”数据洗干净。原理如图1-1所示。
图1-1 数据清洗的原理
1.4 数据清洗的基本流程
数据清洗的基本流程一般分为5个步骤:数据分析、定义数据清洗的策略和规则、搜索并确定错误实例、纠正发现的错误以及干净数据的回流。具体流程如图1-2所示。
图1-2 数据清洗的基本流程
1.5 数据清洗的策略
数据清洗策略分为一般的数据清洗策略和混合的数据清洗策略。
1.一般的数据清洗策略
按实现方式与范围划分,一般分为手工清洗策略(人工直接修改)、自动清洗策略(编写专门的应用程序修改)、特定应用领域的清洗策略(根据概率统计学原理检测修改)以及与特定应用领域无关的清洗策略(根据相关算法检测并删除重复记录)。
2.混合的数据清洗策略
混合的数据清洗策略主要以自动清洗为主,人工监督确认为辅。
1.6 常见的数据清洗方法
常见的数据清洗方法包括三种:
1.缺失值的清洗
主要分为两类:忽略缺失值数据和填充缺失值数据。
填充缺失值方法包括:人工填写、使用一个全局常量、使用属性的平均值、中间值、最小(大)值填充、使用通过回归、贝叶斯形式化方法的工具或决策树归纳确定的值填充。
2.重复值的清洗
目前清洗重复值的基本思想是“排序与合并”。方法主要有:相似度计算和基于基本近邻排序算法等方法。
3.错误值的清洗
错误值的清洗方法主要包括使用统计分析方法识别可能的错误值(如偏差分析、识别不遵守分布或回归方程的值)、使用简单规则库(即常识性规则、业务规定规则等)检测错误值、使用不同属性间的约束以及使用外部数据等方法检查和处理错误值。
学习用书:《数据清洗》. 黑马程序员/编著 . 清华大学出版社