2021-09-12

            学习,黑马程序员《数据清洗》笔记

第一章.数据的概述

    大数据时代的来临标志着海量数据的产生,数据类型也越来越繁多,因此数据中会夹杂着不完整、重复、不完整的数据,直接使用这些数据会影响数据决策的准确性和效率。所以,清洗数据变得尤为重要,本章节就详细的介绍了数据清洗的概述。

 一、数据清洗的背景

  1.1数据仓库 

  由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,做有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。

  数据仓库对于企业者来说十分的重要,会直接影响决策的正确与否,因此我们需要对数据仓库中的数据进行清洗操作,得出可靠、可准确反映企业实际情况的数据。

1.2数据的质量

  是一个相对的概念,不同的决策者对数据质量的高低要求不同。对于关的数据,数据质量很高对于决策也起不到任何作用(例如:调查学生的近视情况,结果统计的数据全是学生的体重,医院统计对于不同年龄阶段对于某个疾病发病率,结果病人基本概况里的年龄一栏是空白)。数据质量具有以下特点:

①“业务需求”会随时间变化,数据质量也会随时间变化。(对于不同季节衣服的销售情况,不能总是统计夏装的出售)

②数据质量可以借助信息系统度量,但独立于信息系统的存在

③数据的质量存在于数据的整个生命周期,随数据的产生而产生,岁数据得消失而消失。

1.2.1数据质量的评价指标

数据的准确性、完整性、简洁性及适用性,其中前三个视为保证适用性。

①准确性:要求数据中的噪声尽可能少,可以对数据进行降噪处理,对于数据中偏离常规、分散的小样本数据一般可视为噪声或异常数据,可通过聚类进行处理(R语言中系统的学习过)。

②完整性:数据信息是否缺失的状况。可能是数据中的某个记录缺失或者某个字段缺失,完整性评估一般用统计中的记录值和唯一值进行评估。(例如:食堂每天出售的馒头是1000个,某天突然降到10个,需检查数据是否缺失)。

③简洁性

尽量选择重要的本质属性,并消除冗余。找到主要因素,不需要把问题的细节都搞清楚,一些不必要的数据会增大数据量,影响数据质量。

④适用性

评判数据质量的核心标准

1.3

数据质量分类:一类是基于数据源的“脏”数据分类,一类是基于清洗方式的“脏”数据分类。

1.3.1基于数据源的脏数据

不完整的、重复的、错误的数据被称为“脏”数据。

 单数据源问题:

  主要取决于它的模式对于数据完整性约束的控制程度。出现的问题以不同的方式出现在不同的数据中如:重复记录、矛盾记录等。

多数据源问题:

  每个数据都有可能成为脏数据,存在的与模式相关的问题主要是名字冲突和结构冲突

1.3.2基于清洗方式的“脏”数据分类

   独立的“脏”数据:

  包括单数据源和多数据源所有模式层以及大多数实力蹭数据的质量问题,可以通过记录或本身检验出的是否包含脏数据。

合法性检验是判断数据是否符合给定标准的过程,判断标准是用户根据业务需要定义的一些检验规则,该规则主要检验的是数据的格式、数据的范围、数据的枚举清单以及数据的相关性等方面,具体介绍如下。
●数据的格式主要是检验记录的某个字段或字段组中的数据是否符合规范格式,这是针对模式层的“脏”数据进行检验。
●数据的范围主要是检查记录的字段数据是否在预期的范围内,常用于检验数字和有效值。
●数据的枚举清单主要是参照某个已定义的清单检验字段的值。
●数据的相关性主要通过主键和外键的关系实现。
数据转换是将“脏”数据进行清选的过程,包括模式转换和实例转换。①模式转换用来解决模式层“脏”数据的问题,通过(在元数据库中定叉表字段的映射规则、字段拆分规则以及字段值合并规则等协调数据模式之间的差异,从而实现数据的清洗;②实例转换是根据源数据字段的实际内容,结合-定的领域知识解决拼写错误、输人错误、不同的计量单位及过时的编码篁宜例层“脏”数据问题。

依赖性“脏”数据

 缺失数据:数值空值和数据异常

重复数据:一个现实实体在数据集合中以多个不完全相同记录表示。检测重复值的方法:字段匹配、递归的字段匹配、Smitj-Waterman算法、基于编辑距离的字段匹配等。

1.4数据清洗

数据清洗技术是提高数据质量的有效方法,在数据仓库领域,数据挖据领域、数据质量管理领域中数据清洗都是必不可少的。

1.4.1数据清洗的原理

 数据清洗的目的是解决“脏”数据问题,即不是将脏数据洗掉而是将“脏”数据清洗干净。

1.5数据清洗的基本流程

  1.数据分析
数据分析是数据清洗的前提和基础,通过人工检测或者计算机分析程序的方式对原始数据源的数据进行检测分析,从而得出原始数据源中存在的数据质量问题。
2. 定义数据清洗的策略和规则
根据数据分析出的数据源个数和数据源中的“脏”数据程度定义数据清洗策略和规则,并选择合适的数据清洗算法。
3.搜寻并确定错误实例
搜寻并确定错误实例步骤包括自动检测属性错误和检测重复记录的算法。手工检测数据集中的属性错误需要花费大量的时间、精力以及物力,并且该过程本身很容易出错.需要使用高效的方法自动检测数据集中的属性错误,主要检测方法有基于统计的方法、聚类方法和关联规则方法。
4.纠正发现的错误
根据不同的“脏"数据存在形式的不同,执行相应的数据清洗和转换步骤解决原始数据源中存在的质量问题。需要注意的是,对原始数据源进行数据清洗时,应该将原始数据源进行备份,以防需要撤销清洗操作。

5.赶紧数据回流:干净数据代替脏数据。

1.6数据清洗的策略

一般数据清洗的策略

手工清洗策略,即通过人工直接修改“脏”数据。
自实请洗策略,即通过编写专门的应用程序检测并修改“脏”数据,
特定应用领域的清先策策略,即根据概率统计学原理检测并修改数据异常。
与特定应用领域无关的清洗策略,即根智相关算法检测并删除重复记录。

混合的数据清洗策略主要以自动清洗为主。

1.7数据中常见的清洗方式

缺失值的清洗:忽略缺失数据(直接删除属性或实例数据)和填充缺失数据(最接近的值代替缺失值通过回归、贝叶斯、决策树等)。

重复值清洗:“排序和合并”,通过相似度计算和近邻排序算法

错误值清洗:统计分析方法识别错误(偏差分析、回归方程的值),使用简单规则库检查出错误。使用不同属性间的约束外部数据等方法检测和处理错误值。

  本章主要是数据质量的概述,虽然以前在学习python时处理过脏数据但是没有系统的学习过数据质量的本质,第一章便很好的介绍了数据质量以及脏数据清洗得方式。


 


 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值