2.认识数据预处理技术

Posted Allenspringfestival

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.认识数据预处理技术相关的知识,希望对你有一定的参考价值。

数据预处理的概念

 数据预处理是指在对数据进行数据挖掘的主要处理以前,先对原始数据进行必要的清理、集成、转换、离散、归约、特征选择和提取等一系列处理工作,达到挖掘算法进行知识获取研究所要求的最低规范和标准。

 2.1大数据的特征

(1)不完整性:数据记录属性值缺失。

 

(2)有噪音:含噪声指的是数据具有不正确的属性值,包含错误或存在偏离期望的离群值(指与其他数值比较差异较大的值)。

 异常值检查的方法有:

1.简单统计量分析

 2.3σ准则

3 .箱型图分析(箱型图外部为异常)

 鲁棒性(Robust)音译:

通俗理解:在机器学习,训练模型时,工程师可能会向算法内添加噪声(如对抗训练),以便测试算法的「鲁棒性」。可以将此处的鲁棒性理解述算法对数据变化的容忍度有多高。

鲁棒性并不同于稳定性,稳定性通常意味着「特性随时间不变化的能力」,鲁棒性则常被用来描述可以面对复杂适应系统的能力,需要更全面的对系统进行考虑
 

(3)不一致性

不正确的数据也可能是由命名约定或所用的数据代码不一致,或输入字段(如时间)的格式不一致而导致的。

 2.2数据预处理任务

数据预处理是一个广泛的领域,其总体目标是为后续的数据分析工作提供可靠和高质量的数据,减少数据集规模,提高数据抽象程度和数据分析效率。在实际处理过程中,需要根据应用问题的具体情况选择合适的数据分析方法。数据预处理的任务主要包括数据清洗、数据集成、数据转换和数据脱敏等(如图所示)。

 我们可以从大量的数据属性中提取出一部分对目标输出有重要影响的属性,降低源数据的维数,去除噪声,为数据分析算法提供干净、准确且有针对性的数据,减少数据分析算法的数据处理量,改进数据质量,提高分析效率。

2.2.1 数据清洗的应用领域

数据清洗的主要应用领域包括数据仓库与数据挖掘、数据质量管理。

(1)数据仓库与数据挖掘。数据清洗对于数据仓库与数据挖掘应用来说,是核心和基础,它是获取可靠、有效数据的一个基本步骤。数据仓库是为了支持决策分析的数据集合,在数据仓库领域,数据清洗一般是应用在几个数据库合并时或者多个数据源进行集成时。

(2)数据质量管理。数据质量管理贯穿数据生命周期的全过程。在数据生命周期中,可以通过数据质量管理的方法和手段,在数据生成、使用、消亡的过程里,及时发现有缺陷的数据,然后借助数据管理手段,将数据正确化和规范化,从而达到符合要求的数据质量标准。总体而言,数据质量管理覆盖质量评估、数据去噪、数据监控、数据探查、数据清洗、数据诊断等方面,而在这个过程中,数据清洗是决定数据质量好坏的重要因素。

2.2.2数据清洗的实现方式

(1)手工清洗。手工清洗是通过人工方式对数据进行检查,发现数据中的错误。这种方式比较简单,只要投入足够的人力、物力、财力,也能发现所有错误,但效率低下。在大数据量的情况下,手工清洗数据几乎是不可能的。

(2)自动清洗。自动清洗是通过专门编写的计算机应用程序来进行数据清洗。这种方法能解决某个特定的问题,但不够灵活,特别是在清理过程需要反复进行时(一般来说,数据清理一遍就达到要求的很少),程序复杂,清理过程变化时工作量大。而且,这种方法也没有充分利用目前数据库提供的强大的数据处理能力 。

2.2.3数据清洗的内容

数据清洗主要是对缺失值、重复值、异常值和数据类型有误的数据进行处理,

数据清洗的内容主要包括:

(1)缺失值处理。由于调查、编码和录入误差,数据中可能存在一些缺失值,需要给予适当的处理。常用的处理方法有:估算、整例删除、变量删除和成对删除。

(2)异常值处理。根据每个变量的合理取值范围和相互关系,检查数据是否合乎要求,发现超出正常范围、逻辑上不合理或者相互矛盾的数据。

(3)数据类型转换。数据类型往往会影响到后续的数据处理分析环节,因此,需要明确每个字段的数据类型,比如,来自A表的“学号”是字符型,而来自B表的字段是日期型,在数据清洗的时候就需要对二者的数据类型进行统一处理。

(4)重复值处理。重复值的存在会影响数据分析和挖掘结果的准确性,所以,在数据分析和建模之前需要进行数据重复性检验,如果存在重复值,还需要进行重复值的删除。

2.2.4数据清洗的基本流程

数据清洗的基本流程一共分为5个步骤,分别是数据分析、定义数据清洗的策略和规则、搜寻并确定错误实例、纠正发现的错误以及干净数据回流。具体如下: (1)数据分析。 (2)定义数据清洗的策略和规则。 (3)搜寻并确定错误实例。 (4)纠正发现的错误。 (5)干净数据回流。

2.2.5数据清洗的标准

数据清洗的评价标准包括以下几个方面:

(1)数据的可信性。

(2)数据的可用性。

(3)数据清洗的代价

2.3数据集成

数据处理常常涉及数据集成操作,即将来自多个数据源的数据,结合在一起形成一个统一的数据集合,以便为数据处理工作的顺利完成提供完整的数据基础。 在数据集成过程中,需要考虑解决以下几个问题: (1)模式集成问题。 (2)冗余问题。 (3)数据值冲突检测与消除问题。

2.4数据转换

2.4.1数据转换策略

常见的数据转换策略包括: (1)平滑处理。帮助除去数据中的噪声,常用的方法包括分箱、回归和聚类等。 (2)聚集处理。对数据进行汇总操作。例如,每天的数据经过汇总操作可以获得每月或每年的总额。这一操作常用于构造数据立方体或对数据进行多粒度的分析。 (3)数据泛化处理。用更抽象(更高层次)的概念来取代低层次的数据对象。例如,街道属性可以泛化到更高层次的概念,如城市、国家,再比如年龄属性可以映射到更高层次的概念,如青年、中年和老年。 (4)规范化处理。将属性值按比例缩放,使之落入一个特定的区间,比如0.0~1.0。常用的数据规范化方法包括Min-Max规范化、Z-Score规范化和小数定标规范化等。 (5)属性构造处理。根据已有属性集构造新的属性,后续数据处理直接使用新增的属性。例如,根据已知的质量和体积属性,计算出新的属性——密度。

2.4.2平滑处理

噪声是指被测变量的一个随机错误和变化。平滑处理旨在帮助去掉数据中的噪声,常用的方法包括分箱、回归和聚类等

1.分箱

分箱(Bin)方法通过利用被平滑数据点的周围点(近邻),对一组排序数据进行平滑,排序后的数据被分配到若干箱子(称为 Bin)中。 如图5所示,对箱子的划分方法一般有两种,一种是等高方法,即每个箱子中元素的个数相等,另一种是等宽方法,即每个箱子的取值间距(左右边界之差)相同。

 这里给出一个实例介绍分箱方法。假设有一个数据集X=4,8,15,21,21,24,25,28,34,这里采用基于平均值的等高分箱方法对其进行平滑处理,则分箱处理的步骤如下:

按平均值分箱

(1)把原始数据集X放入以下三个箱子:  箱子1:4,8,15  箱子2:21,21,24  箱子3:25,28,34 (2)分别计算得到每个箱子的平均值: 箱子1的平均值:9  箱子2的平均值:22  箱子3的平均值:29

(3)用每个箱子的平均值替换该箱子内的所有元素:  箱子1:9,9,9  箱子2:22,22,22  箱子3:29,29,29 (4)合并各个箱子中的元素得到新的数据集9,9,9,22,22,22,29,29,29。

按最大最小值(边界值)分箱

此外,还可以采用基于箱子边界的等高分箱方法对数据进行平滑处理。利用边界进行平滑时,对于给定的箱子,其最大值与最小值就构成了该箱子的边界,利用每个箱子的边界值(最大值或最小值)可替换该箱子中的所有值。这时的分箱结果如下: 箱子1:4,4,15 箱子2:21,21,24 箱子3:25,25,34     合并各个箱子中的元素得到新的数据集4,4,15,21,21,24,25,25,34。

2.回归

可以利用拟合函数对数据进行平滑。例如,借助线性回归方法(包括多变量回归方法),就可以获得多个变量之间的拟合关系,从而达到利用一个(或一组)变量值来预测另一个变量取值的目的。如图所示,利用回归分析方法所获得的拟合函数,能够帮助平滑数据并除去其中的噪声。

3.聚类

通过聚类分析方法可帮助发现异常数据。如图所示,相似或相邻近的数据聚合在一起形成了各个聚类集合,而那些位于这些聚类集合之外的数据对象,则被认为是异常数据。 

 

2.5数据脱敏

2.5.1数据脱敏原则

数据脱敏不仅要执行“数据漂白”,抹去数据中的敏感内容,同时也需要保持原有的数据特征、业务规则和数据关联性,保证开发、测试以及大数据类业务不会受到脱敏的影响,达成脱敏前后的数据一致性和有效性,具体如下:

(1)保持原有数据特征。数据脱敏前后必须保证数据特征的保持,例如:身份证号码由十七位数字本体码和一位校验码组成,分别为区域地址码(6 位)、出生日期(8 位)、顺序码(3 位)和校验码(1 位)。那么身份证号码的脱敏规则就需要保证脱敏后依旧保持这些特征信息。

(2)保持数据之间的一致性。在不同业务中,数据和数据之间具有一定的关联性。例如:出生年月或年龄和出生日期之间的关系。同样,身份证信息脱敏后仍需要保证出生年月字段和身份证中包含的出生日期之间的一致性。

(3)保持业务规则的关联性。保持数据业务规则的关联性是指数据脱敏时数据关联性以及业务语义等保持不变,其中数据关联性包括:主外键关联性、关联字段的业务语义关联性等。特别是高度敏感的账户类主体数据,往往会贯穿主体的所有关系和行为信息,因此需要特别注意保证所有相关主体信息的一致性。

(4)多次脱敏之间的数据一致性。相同的数据进行多次脱敏,或者在不同的测试系统进行脱敏,需要确保每次脱敏的数据始终保持一致性,只有这样才能保障业务系统数据变更的持续一致性以及广义业务的持续一致性。

2.5.2数据脱敏方法

数据脱敏的方法主要包括:

(1)数据替换。用设置的固定虚构值替换真值。例如将手机号码统一替换为13900010002。 (2)无效化。通过对数据值的截断、加密、隐藏等方式使敏感数据脱敏,使其不再具有利用价值,例如将地址的值替换为“******”。数据无效化与数据替换所达成的效果基本类似。

(3)随机化。采用随机数据代替真值,保持替换值的随机性以模拟样本的真实性。例如用随机生成的姓和名代替真值。

(4)偏移和取整。通过随机移位改变数字数据,例如把日期“2018-01-02 8:12:25”变为“2018-01-02 8:00:00”。偏移取整在保持了数据的安全性的同时,保证了范围的大致真实性,此项功能在大数据利用环境中具有重大价值。

(5)掩码屏蔽。掩码屏蔽是针对账户类数据的部分信息进行脱敏时的有力工具,比如银行卡号或是身份证号的脱敏。比如,把身份证号码“220524199209010254”替换为“220524********0254”。 (6)灵活编码。在需要特殊脱敏规则时,可执行灵活编码以满足各种可能的脱敏规则。比如用固定字母和固定位数的数字替代合同编号真值。

以上是关于2.认识数据预处理技术的主要内容,如果未能解决你的问题,请参考以下文章

ValueError: Series 的真值不明确(API NaN 处理)

2016.2.19 学习总结

arcgis数据提取的作用

大数据概述

对数据库技术的发展及SQL数据库的认识

更新:SICP+Emacs+Lisp学习的抽象认识