数据预处理技术(全面概述)

学问之道无穷,而总以有恒为主.不以昨日耽搁而今日补做,不以明日有事而今日预做

现实世界中有大量数据,然而许多数据是脏的和不完整的,我们时常做出一些决策,那么就必须要有高质量的数据,利用数据预处理技术可以提高数据的质量,检测异常数据,从而提高数据挖掘的准确性和效率。

数据预处理技术主要包括四类,即数据清洗、数据集成、数据归约和数据变换

具体形式表示如下:

一.数据清洗

数据清理试图填补缺失数据的值、光滑噪声和离群点,纠正数据的不一致。

  1. 噪声数据

首先,我们要知道什么是噪声?噪声是被测量的变量的方差或随机误差。那么对于这些噪声数据,怎么才能“平滑”呢?常见技术如下:

  • 分箱:也就是通过看数据周围的值来平滑数据值,这些数据值被分到一个箱中,比如:

某属性数据排序如:4,8,15,21,21,24,25,28,34
现在我们分成三个箱子:
箱子1:4 15 15
箱子2:21 21 24
箱子3:25 28 34
我们可以使用每个箱中的均值来代替每个数,则代替之后为:
箱子1:9 9 9
箱子2:22 22 22
箱子3:29 29 29
类似,也可以使用中位数光滑
  • 回归:也就是用一个函数通过拟合数据来平滑。如果使用线性回归就要找出两个属性,尽可能拟合最好的一条直线,从而可以通过一个属性来预测另一个属性

  • 离群点分析:可以使用聚类方法来检测离群点。也就是通过聚类将相似的值弄成一簇,那么在簇之外的点就叫做离群点

如图,分成了三个簇

  1. 缺失值

当我们拿到原始数据之后,若其中有属性没有数据,那我们采用什么方法来填补这缺失的值?通常有以下几种方法:

扫描二维码关注公众号,回复: 16332173 查看本文章
  • 忽视缺失值:什么时候使用这种方法?当数据是缺少分类标签时,并且缺失数据并不多,否则达不到良好效果

  • 人工填写缺失值:这种方法当缺失数据量大时,人工不好操作,耗时又费力

  • 使用一个常量代替缺失值:例如使用某一个特定的常量None,但是一般这种方法不太靠谱

  • 使用属性的均值或中位数代替缺失值:通常情况下,对数据进行分析时,均值或中位数有较大的衡量性;如果是倾斜数据,使用中位数更好

  • 使用最可能的值代替缺失值:怎么确定最可能的值?可以使用回归和决策树等方法进行归纳来确定

但我们不可能保证所代替的缺失值完全准确,只能尽可能的进行评估。

注:缺失值数据不意味着数据是错误的

二.数据集成

什么是数据集成?也就是合并来自多个数据存储的数据,数据集成有利于减少数据集的冗余和不一致。

1.实体识别问题

那么由于来自不同的数据存储,怎么才能实现多个信息源的“匹配”更佳,这就是实体识别问题。比如说计算机怎么判定一个数据库中的Student_id和另一个数据库的Student_number是同一个属性,每个属性的元数据包括名字以及相应的取值范围。当不同数据库的属性相互匹配时,要注意到数据的结构,确保函数依赖和参照约束要匹配。

2.冗余和相关性分析

来自不同数据库的数据可能会导致冗余,那么我们可以使用相关性分析来检测,来判断一个属性蕴含另一个的程度有多大。根据不同数据,检验的方法不同:

  • 标称数据卡方检验:假设两个属性A和B都有不同的值。卡方检验是假设A和B是独立的,检验基于显著水平,有自由度(r-1)(c-1),如果拒绝该假设,则说明A和B是相关的。

  • 数值数据用相关系数和协方差检验:相关系数表明了A和B之间的关联性,若相关系数为0,则说明二者是独立的,不存在相关性;若系数小于01,说明一个值随着另一个值的增加而减少。一个较高的相关系数表明A可被看作冗余而删除。协方差和方差在概率论中是两个相似的度量,

三.数据归约

通过前边的处理已经选择好了数据库,但是数据库的数据量很大,分析需要花费很长的时间,怎么办呢?就采用数据归约。什么是数据归约?就是用来得到数据集的归约表示,它比原来数据集小的多,但是仍然保持完整,并且处理分析的时间变短。数据归约具体方法有以下几种:

  1. 维归约

顾名思义,也就是将原来的数据投影到较小的空间,维归约方法主要包括小波变换和主成分分析:

  • 主成分分析:主成分分析又称PCA,能够揭示先前未察觉的联系。首先要对数据规范化,使得落入一个相同的区间,然后计算k个标准正交向量,作为输入规范化数据的基,对主成分按照重要性进行降序排序,从而去掉较弱的成分

  1. 数量归约

数量归约就是用替代的、较小的数据代替原始数据,其中技术可以是参数的也可以是非参数的。参数方法使用模型估计数据,非参数方法包括直方图、聚类和抽样

  • 回归线性模型:模型可以用来近似给定的数据,在线性回归中,建立数学模型,使得拟合成一条直线。有一些求解回归问题的软件包,如SAS,SPSS和S_plus等

  • 直方图:直方图利用分箱来近似数据分布,属性A的直方图将A1的数据划分为不相交的子集。为了压缩数据,通常用一个桶代表属性的连续区间。如图:

  • 聚类:聚类技术常常把数据元组看成对象,然后把对象分成若干个簇,把簇外的异常对象看成“异样”。通常,相似性基于距离函数,用对象在空间的距离表示,其中直径是簇中两个对象的最大距离。在数据归约中,通常用数据的簇替换实际数据

  • 抽样:抽样允许用数据小得多的随机样本表示大的数据集。其中抽样有多种形式,如有放回的简单随机抽样和无放回的简单随机抽样,还有分层抽样。抽样进行数量规约的好处是化的费用正比例小于样本集的大小

如图,为分层抽样样例表示

  1. 数据压缩

数据压缩是使用变换,是将原始数据进行“压缩”表示,压缩后的数据重构若没有损失信息,我们则把数据归约叫做无损的

四.数据变换

关于数据变换,也就是数据被变换或统一成一种被用于分析的形式,常用方法有以下几种:

  • 光滑:去掉数据里的噪声。包括聚类、分箱和回归

  • 属性构造:根据给定的属性来构造新的属性并且添加到属性集中

  • 聚集:通过对数据进行聚集或汇总

  • 规范化:把属性按照比例进行缩放,以便落入一个较小的区间内,如0到1

  • 离散化:将一些数值属性(如年龄)的原始值用一些区间形式进行表示(如20到30,30到40等),这些标签可以使得数值属性的概念分层

猜你喜欢

转载自blog.csdn.net/a__12345_/article/details/129430391
今日推荐