数据清洗概要

数据清洗的目标

使数据都是意义明确的、正确的、规范的;提高数据的可用性。

 

数据清洗的前提条件

在数据清洗之前需要具备以下条件:

1. 数据已经接入

2. 已经有基本的业务范围信息。

3. 已经有基本的数据语义信息(表和字段说明)。

4. 数据一致性校已经完成(保证数据在传输过程中没有损失)。

 

数据清洗的四个方面

1. 明确数据的业务范围

    数据的业务范围的明确主要解决两个问题:

    1. 这份数据都涵盖了哪些业务?

    2. 是否涵盖了某个业务的全部?

    业务范围是对于数据整体的描述,对于业务范围的明确对于数据分析非常重要。数据分析的结论,需要指定业务范围;数据的价值的高低往往也依赖于其业务范围。

    

2. 明确数据的语义;    

    数据往往都是高度结构化的,数据与数据的语义是分离的;每一条数据都是为了表达一定的信息,但是这种表达需要有语义的支持,单纯的一组数字并不足以传达信息,我们必须知道它们代表了什么。

    比如一条数据:Tom 10

    我们并不知道这条数据的含义,如果我们知道了这是一条消费账单记录,第一个字段是消费者,第二个字段是金额,单位是元,这样一来我们就可以准确的理解这条数据传达的信息了,这种信息可以用自然语言来表达:

    Tom花费了10元钱。

    与数据不同,自然语言会把语义与数据结合起来。

    我们以此作为检测数据语义是否明确的方法:

    如果一个表中每一条数据所传达的(主要)信息我们都可以用自然语言来明确的表达,那么这个表的语义就是明确的;否则就是不明确的。

 

3. 处理数据中存在的错误

数据的错误分为两类

级错误

对于每条数据的每个字段,如果其值不能代表其要表达的含义,那么这个字段的值就是错误的。数据中显式的空值并不是错误,但是字段的缺失可以归为错误。

级错误

要包括数据记录不合的重复、数据记录的缺

 

基于错误的数据,经过语义的翻译,会得到错误的信息,这种信息并不是数据本身想要表达的。基于这种错误的数据,得到的认知和数据分析的结果都是不准确的。

于数据中存在的错误,处理的原则是尽最大可能去修复,对于不能修复的错误,则需要给出警示。

于行级错误的处理,从找出异常数据入

    于每个字段,异常数据可以通过(不限于)几种方

    1. 于标离群则记为异常

    2. 取值不在字典表范围内。

    3. 不符合数据的语义(前语义上无法解释)。

    4. 其它字段的信息不一致。

    

对于异常数据的处理:

 

于异常数据的处理流程如上图所示。

    1. 首先判断是不是错误,如果不是错误,们只需要以记录,可以帮助我们深入的认识数据

    2. 如果是错误,试着去分析错误产生的原因,推测出正确值;如果能推测出正确值,那么推算出正确值。

3. 如果不能推测出正确值,那么将其置为空值(空值至少不会提供错误的信息,其不良影响要弱于错误的信息所来带来的)

 

4. 对数据做规范化、统一化

    不规范、不统一的数据可能并不影响信息表达的准确性,却对数据分析和数据处理有很大的影响。

    我们所要做的有两方面:

    1. 含义相同的字段,采用统一的规范的形式来表达。

    目前主要包括:

        1. 日期字段格式的统一,全部采用标准Unix时间戳表示。

        2. IP字段格式的统一,具体格式待定。

    2. 对于同一字段,相同的信息,采用相同的表达。

    主要针对字符型的字段。比如:北京、北京市、【北京】都是表达相同的含义,我们需要将其统一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值