大数据预处理技术-数据预处理概述-第一章
大数据预处理技术-数据预处理概述-第一章
智汇君大数据预处理技术-数据预处理概述-第一章
大数据项目开发流程
1 | 数据采集 |
数据预处理的背景和目的
1 | Ok,大家好啊,我们今天呢正式进入数据预处理的第一次理论课,那么数据预处理理论课的第一章呢,主要讲的是数据预处理的一个概述的相关知识点。在正式讲课之前,我们首先来看一下我们大数据项目开发的一个流程。那么大数据开发的流程呢,主要哈我们看图上有五个,第一是数据采集,第二个是数据处理,第三是数据存储,第四次数据分析与挖掘,第五是数据可视化。那么从图中我们可以看到数据预处理,也就是我们这门课所要学习的内容呢?它是在数据怎么样采集之后,存储和分析挖掘之前,那么它的这样一个位置就决定了它的工作,就是读入数据采集阶段的数据,然后采用各种手段来清洗我们的脏数据,再输出满足数据分析,数据挖掘的一个数据集。那么这个数据集一般都是存储在分布式系统当中的。当然对这个数据集进行分析挖掘之后,我们得到的分析挖掘的一个结果是通过啊我们的这个红色部分,也就是我们数据的可视化来向客户进行展示的,这就是我们数据项目开发流程的一个整体的脉络。那么接下来呢,我们将进入到数据预处理的第一章的学习。首先我们来看一下我们第一章的一个整体的脉络情况。第一节讲的是我们数据预处理的一个什么呀背景,也就是说在数数据挖掘项目中,为什么要进行数据处理,那是因为它存在这些数据存在怎么样?各种各样的质量问题,比如缺失,重复的。所以我们进行数据预处理的目的就是提升数据的质量,把数据中的当数据尽可能的全部清除掉。那么我们怎么来做才能清楚这些数据呢?我们要通过四个流程,第一是数据清理,第二是数据集成,第三是数据规约,第四次数据离散化。最后我们将简要的介绍一下本门课程将使用到的两个工具,一个是开头,一个是p,那么它的具体内容将在后面的章节进行重点的讲解。首先哈,我们来进入正式进入我们第一章第一节数据预处理的背景及数据的各种质量问题的一个学习。那么我们存在的数据质量到底包含哪些问题呢?一共我们这里分成了六个大的方面,第一个是数据的准确性,第二个呢是数据的完整性,第三个呢是数据的一致性,第四个呢是数据的相关性,第五个是数据的时效性,第六个是数据的可信性和可解释性。那么这六个方面的问题又可以从不同的角度去划分。第一个角度是采集角度,我们可以把准确性,完整性和一致性归纳进来,第二个呢是应用的角度,我们可以把相关性,时效性归纳进来。最后一个呢是可信性与可解释性,它是从用户的角度来进行划分的。那么首先我们来看第一个质量问题,叫做准确性。数据是正确的,是指数存储的数据在数据库中的值,对于真实世界的值它是怎么样一致的啊?举个例子,当我们在使用支付宝绑定银行卡号的时候,网站会要求其中有一项叫什么真实姓名和身份证号码对不对?那么用户提供的证件号码与实际号码如果一致,那么该号码存储在数据库中的值我们认为就是怎么样正确的,那么不正确又是哪些造成的?首先,第一是数据收集设备故障,导致我们的数据存储时可能会出现乱码,第二是在数据输入的时候,人为的输入不准确的信息,或者说计算机内部出错,导致录入的信息有误。比如说哈,我们上网的时候,当我们需要注册一些信息的时候,个人出于隐私考虑,可能会故意输入不正确的,比如说年龄啊,地址啊,手机号码等等。第三个呢,是数据在传输过程当中可能会出现错误,比如说超出了传输缓存区的大小,数据会出现截断的现象。这个怎么理解?也就像我们搬家一样的东西,要怎么样一个一个的放在一个个箱子里进行,然后再放到我们车上进行运输。那么这个物品的装物品的箱子它不可能是无限大的,它是有一定容积的,我们传输数据也是一样的道理。啊最后一个呢是命名约定数据输入和数字段格式不一致。其中哈最常见的,就比如说我们的日期格式,年月日对不对?对。那么接下来呢?我们来看一下数据质量的第二个完整性。完整性是指信息具有一个实体描述的所有必须的部分。那么在传统关系型数据库中,完整性通常与控制,也就是我们的浪子有关,它包括两个部分,一个是记录的缺失,另外一个叫做记录属性的缺失。那么记录的缺失就是我们整条一行数据的缺失。比如说我们记录了啊,某个人的姓名,年龄,身高啊,体重,电话号码,柱子等等信息,那么整个这个信息的丢失就叫做记录的缺失,如果其中只有一个或者某些属性值缺失,那么就是进入属性的缺失,比如说这条消息当中啊,年龄没有登录啊,身高没有登录,或者另外一条消息当中电话号码啊,缺了啊等等。那么造成数据不完整的原因又有哪些呢?我们接下来看一下啊。第一,涉及隐私无法获取啊,这个很好理解,我不告诉你。第二,由于输入时仍未疏忽,导致那么有些信息虽然不涉及隐私,但是在采集的时候,不采集人员他还认为不重要,它就没问啊。所以这就是人位的输入第三个数据数时,由于机器故障。啊这个很好理解,那机器有问题,你本来告诉他正确的,它翻译出来就是错误的,对吧?那么我们再来看第三个质量问题,叫做什么?一致性。数据的一致性是指在数据库当中,不同表中存储和使用的同一个数据应当是怎么样等价的,表示数据有相同的值或者相同的一个含义,因为是同一个数据,不管你存在哪里,那么你应该你的值和还都是相同的,也就是说我们某某同学,你不管在学校也好,还是在家里也好,你就是你,你不会。还有啊,像孙悟空这样72变对吧?在不同地方变成不同的人,那是不可能的。那么造成不一致的第一个原因是逻辑不一致啊,什么叫逻辑不不一致,我们来看一下表一和表二,表一中描述的是学生的一个基本信息,它包括了我们的学号,姓名,性别,年龄以及专业。那么从表一表二当中我们可以看到啊,表一当中的专业号除了王小刚同学的,其他同学在表达中都能够找到,但是哈,我们要求表一中的专业必须来自表二,所以呢,说明该条记录怎么样,专业好无必须修改正确,才能保证两张表对应字段的一个正确性,这就是我们数据的一个逻辑不一致。那么数据不一致呢?还体现在记录的不规范上。比如说我们看,首先我们想得到事例那样的一个日期格式,结果,由于我们没有可能啊,程序员忘记设置格式信息,格式的信息,所以说大家都根据自己的习惯来录入啊,就产生了下面那么多类型的啊,年月日,有大写的汉字的啊,有写汉字的哈,有大写的数字的,小写数字的,然后还有混用的哈,等等等等。另外呢,不同数据库对同一属性名的命名规则位子也属于记录规范不一致啊。看看下面这张图, abc三个数据库里面都有性别信息的存储,但是他们用了不同的怎么样表示符号? A用数字来表示b用汉字来表示c用什么字母表示啊?这种就叫做记录规范的位置。 |
背景:数据质量
采集角度
准确性
1 | 数据库中的数据的值对应于现实中的值是正确的 |
完整性
1 | 指信息具有一个实体描述的所有必需的部分,在传统关系型数据库中,完整性通常与空值(NULL)有关。一般包括记录的缺失和记录属性的缺失。 |
一致性
1 | 在数据库中,不同地方存储和使用的同一数据应当是等价的,表示数据有相等的值和相同的含义 |
1 | 逻辑不一致:如外键,一个表中的某个外键值在另一个表中找不到 |
应用角度
时效性
1 | 指数据仅在一定时间段内对决策具有价值的属性。数据的时效性很大程度上制约了决策的客观效果。 |
相关性
1 | 数据的相关性是指数据与特定的应用和领域有关。 |
用户角度
可信性
1 | 数据来源的权威性 |
可解释性
1 | 反应数据是否容易理解 |
目的:提升数据质量
1 | 重要性 |
1 | 目的 |
数据预处理的流程
1 | 初始数据获取 |
1 | 不一定流程完全按照这个来,比如3,4可能互换、1234后再1234、1234后再其中某一个或多个 |
数据清理
1 | 脏数据:由于重复录入,并发处理等不规范的操作,导致产生不完整不准确的,无效的数据。 |
1 | 数据清理试图填充空缺的值、识别孤立点、消除噪声,并纠正数据中的不一致性。 |
缺失值
1 | 现有数据集中某个或某些属性的值是不完整的 |
1 | 缺失值处理方法: |
1 | 元组(记录) |
忽略元组
人工填写
使用全局常量替换空缺值
1 | 使用特殊符号填写,也不可靠 |
属性的中心度量来填充
1 | 对称分布 均值:正常分布的2 4 6 8 10 |
使用于给定元组同一类的所有样本中心度量值
使用最可能的值
1 | 使用最可能的值:利用回归、贝叶斯计算公式推断最可能的值或者决策树归纳确定 |
噪声数据
1 | 噪声是被测量变量的随机误差或偏差 错误或者偏离 |
1 | 孤立点:不符合数据模型的数据 严格来说它不算噪声数据,它是现实中真实存在的准确的,但与正常数据偏差比较大 主要用来做异常值检测 |
1 | 引起噪声数据的原因: |
噪声处理的方法
分箱法
1 | 通过考察数据的近邻值来光滑有序数据值。 |
回归
1 | 采用一个函数拟合数据来光滑数据 |
1 | 线性回归:找出拟合两个属性的“最佳”直线,帮助平滑数据及除去噪声。 |
1 | 多元线性回归:涉及多个属性,拟合到一个多维的面 |
(离群点分析)聚类
1 | 啊,我们第一堂课呢,讲了噪声处理的前两种方法,接下来呢,我们再来看看造成处理的第三种方法,叫做聚类法。聚类它可以通过它的方法的话,它的一个原理就是通过聚类算法来检测离群点,从而达到消除噪声的目的。那什么叫做聚类呢?相似或相邻近的数据聚合在一起,形成各个聚类集合,而那些位于聚类集合之外的数据对象,我们视为离群点。也就是说,聚类操作会将类似的值组织成群,或者处落在处集合之外的点,我们就称为离群点。一般情况下,这种离群点呢,肯定都是异常数据,它最终会影响整体数据的一个什么分析和结果。我们对离群点的处理操作简单粗暴,什么删除。然后我们来看这样一个图,左图中对所有的点即进行了聚类分析,形成了c1和c22个数,那么可以看到c也好, c2好,它的点基本上是围绕在啊某一个范围内的,或者说围绕着某个中心周围的话,不会太远,但是呢, oeoro三这三个点明显的是孤立于cacr之外的哈。所以说啊,我们就称oeoro三这三个点啊,就叫做离群点。聚类算法呢,主要有以下几个方法,比如说k均值法,层次聚类方法或基于密度的聚类方法。 K均值呢,一般是把它分成k个平均哈来进行一个计算,哈,层次呢就划分,其实聚类就是划分,所以它不管是哪一种剧的方法,它只是说通过不同的一种嗯划分的途径来进行划分而已。如果大家有兴趣对算法进行研究的,可以自己下来进行研究啊,之前我们也讲过,我们不研究算法,自己研究开头的这个工具的使用方法。 Ok,那么到此呢?数据清理章节我们自此便完全部介绍完毕。我们来看一下,总结一下我们这一章节主要学习了些什么?我们在这一章节主要学习了什么?数据清理,它就是做做一个什么清楚大数据啊就是说一些比较明显的啊的一些无效的数据,我们把它清除掉,它包括两个大的方面,一个是确实值得处理,一个是噪声数据的处理。啊也就是说虽然说我们清点是脏数据,但是我们这张数据除了pass掉以外, pass掉的最简单的哈我们就不说了,我们要做的呢就是对存在的值不能够简单粗暴的删除掉的,指它的一些方法。然后我们来看这样一个流程图,第一个数据心理分成两个,第一个是缺失值处理,包括一,二,三,四,五,六种方式,第一个忽略元素,第二个人工填写,第三个使用全局常量,第四个使用属性的中心度量,第五个使用同类样本属性的中心度量,最后一个是使用最可能的值。啊,这也涉及一些算法来计算。最后呃第二个是噪声处理,我们讲了三个大的方面,一个是分析法,一个是回归法,一个是聚类法。那么对于这些方法我们要求是了解,然后掌握的有什么是掌握的?三个啊。第一个是使用属性的中心度量,第二个使用同类样本属性的中心度量,第三个是分析法,这三种方法简单,而且肯定你们的是好算的,所以这个作为考试点啊,大家记住,我们数据系列的考点有三个,第一个要学会计算中心度量值,第二个要会计算同类样本属性的中心度量值,第三个要会用分项法进行我们的噪声平滑的计算。 |
1 | 可以通过聚类算法来检测离群点,消除噪声 |
1 | 聚类算法 |
数据集成
1 | 接下来呢,我们要讲解的是数据集成部分的内容。首先呢,我们来看一下什么叫做数据集成,它的定义是将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源。那么集成能够维护数据源整体上的数据一致性,提高我们信息共享利用的效率。这就是我们集成的含义啊。我们这个定义当中,什么叫继承? |
1 | 定义:将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源。 |
1 | 那么数据集成的方法呢,一般有以下三种,第一个叫做联邦数据库,第二个叫做中间件集成啊,最后一个叫做数据复制。 |
联邦数据库
1 | 各数据源的数据视图集成为全局模式 |
1 | 那么联邦数据库呢,是最早期啊就采用的一种模式集成的方式,它的思想是什么呢?它是在构建集成系统的时候,把各个数据源的数据视图,它就集成为一个全局模式,也就是说我在构想的初期就把它统一成了全局模式。那么这个时候用户就能够按照全球模式透明地访问各种数据源的数据。那么在我们数据比较小的情况下是可以的,对吧?因为我们早期的数据比较小,然后呢各个地方呢通信也没这么发达啊,各各自管各自的,所以这种方法是可行的。但是现在我们数据量太大了,涉及的面也比较广,所以这个方法已经不太适用了。 |
中间件集成
1 | 通过统一的全局数据模型来访问异构的数据源 |
1 | 那我们来看第二种方法,中间件集成方法,它是通过使用统一的全局数据模型来访问易购的数据源,它的结构图哈在我们的右边所示。它中间件呢,它是位于一个数据系统和应用程序之间啊。我们可以从中可以看到两个红色的方框中间,这就叫做一个中间件,它向下是协调各个数据源系统,然后向上呢,又为访问集成数据应用提供统一的数据模式和数据访问的一个通用接口。也就是说我要使用的时候,它这个地方是使用的时候啊,通过一个中间件啊去对其他的数据进行封装统一,然后再给用户啊进行请求结果。 |
数据仓库
1 | 将各个数据源的数据复制到同一处,即数据仓库 |
1 | 那么在实际应用中呢,我们现在用的最常见的是第三种,叫做数据仓库。因为第二个呢它有一个问题,就是你对这些数据进行了处理以后,那么可能会对原始数据就构成一定的破坏,然后如果说我们处理出了问题,又导致了我们原始数据的一个丢失的话,那么最后的结果是得不偿失的,对吧? |
实体识别
1 | 匹配多个信息源在现实世界中的等价实体 |
1 | 那么分成啊,它包括什么?包括实体三个三类,实体识别,冗余与相关分析,以及数据冲突和检测。首先我们来看一下第一个实体识别,实体识别匹配多个信息源在现实世界中的等价实体,我们称为实体识别。 |
同意不同名
1 | 什么叫同意不同名?我们来看下面这个图id number,比如说一个数据库当中的customer id和另一个数据库当中的cr,本来它是指同一个个体啊,都是某一个某个数据来代表好某一条信息的一个编号码啊,唯一的标识,但是呢,它偏偏用不同的哈形式来进行表示,也就是说它名字不同,意义相同的,对吧,我们就称为同意不同名 |
同名不同意
1 | 第二个同名不同意呢?比如说discount有什么打折打折,但是它对于它是对商品某些商品进行打折呢,还是说我们满额打折呢?对不对?所以说我们同名的情况下,我们要了解它在不同的app端它表示的含义是什么,这样才会啊对我们的啊卖家不会造成一定的损失,对吧?通常哈这两种情况。 |
冗余与相关分析
1 | 属性重复,属性相关冗余,元组重复 |
1 | 接下来哈,我们来看数据集成的第二个重要问题,就叫做荣誉啊,荣誉问题。什么叫冗余?属性重复?属性相关冗余或者元组重复,我们都认为它是一种冗余。 |
属性重复
1 | 我们首先来看一下属性重复,属性重复它包括同一属性在一个表中出现多次,只是命名不一致而已,比如说我们的分和性别,对吧?它都是指我们的性别,这是我们的属性重复。 |
属性相关冗余
1 | 第二个叫属性相关重复,属性相关重复呢是指某一个属性可以有另外一个属性导出,比如说我们的年收入啊,可以用月收入乘以12来进行导出,那么这个时候呢,我们就可以减少啊我们的一个属性值,或者说哈,我们可以根据相关系数啊,或者相方差能计算得到的话都可以,我们都称为相关冗余。 |
元组重复
1 | 那么第三个叫元组重复,那么这个元组重复就很好理解了,就0405岁的客户编号表达什么?明智性别月薪收入都一样,所有信息都一样。那么它是不是同一个人?对吧?他就是同一个人。 |
数据冲突和检测
1 | 对现实世界的同一实体,来自不同数据源的属性定义不同。 |
1 | 好, ok,那么接下来我们来看最后一个数据仓库啊数据冲突的检测与处理。还有一个原因是什么?对现实世界同一实体来自不同数据源的属性定义不同。那么这种方法一般是什么?它的度量值不一样,或者编码比例的差异导致的。那我们我们来我们来看下面这个图的例子,某一表示长度的属性,在一个数据库当中有什么厘米,那一个数据库用什么分离,然后在一个数据库是什么?因此其实它都是表示长度,只是它的单位怎么样不一致,然后是呃同理,我们表示重量的数据啊,当然一个是公斤啊。另外因外国外的棒啊。那么当检测到这类数据只通透的以后,我们可以根据需要修改某一数据库的属性值,以使不同的数据库中同一实体的属性值保持一致。 |
数据变换
1 | 目的: |
1 | 接下来呢,我们来介绍第三部分的内容数据变化。如果原始数据的形式不适合信息处理算法的需求,这个时候我们就要进行什么数据变换。数据变换的目的啊。所以说,数据变换的目的就是将数据转换或统一成易于进行数据挖掘的存储形式,是挖掘过程可能更有效,这就是我们数据变换的一个主要的目的。 |
1 | 方法策略: |
光滑
属性构造
聚集
规范化
1 | 所以这个地方我们仅仅讲规范化,什么叫规范化?规范化就是将数据按比例进行缩放,使之落入一个特定的区域,我们就称为规范化。比如说我们将企业员工的工资,他是在2000到20万之间,那一个企业从低层到高层,我们把它缩放到零到一之间,这样小的区域就称为规范化。 |
最小-最大规范化
1 | 将数据按比例缩放至一个小的特定区间: |
零-均值(z-score)规范化
1 | 将属性A的值根据其平均值和标准差进行规范化; |
小数定标规范化
1 | 小数定标规范化:通过移动属性A的小数点位置进行规范化小数点的移动依赖于A的最大绝对值 |
离散化
由标称数据产生概念分层
数据归约
1 | 为什么要数据归约: |
1 | 数据归约的目的: |
1 | 标准: |
维归约
主成分分析
1 | 主成分分析也称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标(即主成分),其中每个主成分都能够反映原始变量的大部分信息,且所含信息互不重复。 |
1 | ----这种方法在引进多方面变量的同时将复杂因素归结为几个主成分,使问题简单化,同时得到的结果更加科学有效的数据信息。 |
属性子集选择
1 | 用于检测并删除不相关、弱相关或冗余的属性。 |
数量归约
1 | 用替代的、较小的数据表示形式替换原数据,来减少数据量 |
有参方法
1 | 回归和对数的线性模型 |
1 | 通常使用一个参数模型来评估数据,该方法只需要存储参数,而不是实际数据,能大大减少数据量,但只对数直型数据有效。 |
无参方法
1 | 直方图、聚类、抽样和数据立方体聚集 |
直方图
1 | 根据属性的数据分布将其分成若干不相交的区间,每个区间的高度与其出现的频率成正比 |
聚类
1 | 原数据集划分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异,一般用空间距离来度量相似度。 |
抽样
1 | 允许用数据的较小随机样本(子集)表示大的数据集 |
1 | 不放回简单随机取样 |
1 | 放回简单随机取样 |
1 | 聚类取样 |
1 | 首先将大数据集D划分为M个互不相交的聚类,然后再从M个类中的数据对象分别进行随机抽取,可最终获得聚类采样的数据子集。 |
1 | 分层取样 |
1 | 分层取样:首先将大数据集D划分为互不相交的层,然后对每一层简单随机选样得到D的分层选样。 |
数据立方体聚集
1 | 数据立方体是数据的多维建模和表示,由维度、维度成员和度量值组成。 |
1 | 数据立方体聚集定义 |
数据压缩
1 | 利用数据编码或数据转换将原来的数据集合压缩为一个较小规模的数据集合 |
无损压缩
1 | 无损压缩:可以不丢失任何信息地还原压缩数据;如:字符串压缩,压缩格式: |
有损压缩
1 | 有损压缩:只能重新构造原数据的近似表示;如:音频/视频压缩。 |
















































