Advertisement

数据挖掘概念与技术 第3章 数据预处理

阅读量:
复制代码
     本章主要讲述了数据的预处理技术:数据清理、数据集成、数据归约、数据变换。数据清理可以用来清除数据中的噪声,纠正不一致。数据集成将数据由多个数据源合并成一个一致的数据存储,如数据仓库。数据归约可以通过如聚集、删除冗余特征或聚类来降低数据规模。数据变换可以用来把数据压缩到较小区间,如0.0到1.0。

3.1 数据预处理:概述

复制代码
    数据如果能满足应用要求,那么它是高质量的。数据质量涉及到许多因素,包括准确性、完整性、一致性、时效性、可信性和可解释性。
    数据预处理的主要任务:数据清理、数据集成、数据归约、数据变换。

3.2 数据清理

复制代码
    现实世界的数据一般是不完整、有噪声和不一致的。

数据清理试图填充缺失的值、光滑噪声并识别离群点、纠正 数据中的不一致

1、数据缺失

  • 忽略元组(关系数据库中的记录或行,每个元组代表一个对象):
  • 人工填写缺失值
  • 使用一个全局变量填充缺失值
  • 使用属性的中心度量(如均值或中位数)填充缺失值
  • 使用与给定元组属同一类的所有样本的属性均值或中位数
  • 使用最可能的值填充缺失值
    其中方法(3)~(6)使数据有偏,填入的值可能不正确。然而,方法6是最流行的策略。

2、噪声数据

噪声是被测量的变量的随机误差或方差,给定一个属性值,我们怎样才能光滑数据、去掉噪声?下面说一说数据光滑技术。

  • 分箱(binning)技术:似乎不很靠谱,不介绍了。
  • 回归(regression):可以用一个函数拟合数据来光滑数据。这种技术成为回归。线性回归涉及找出拟合两个属性(或变量)的最佳值,使得一个属性可以用来预测另一个。多元线性回归是线性回归的扩充,其中涉及的属性多于两个,并且数据拟合到一个多维曲面。
  • 离群点分析(outlier analysis):可以通过如聚类来检测离群点。聚类将类似的值组织成群或簇。直观的在簇之外的被视为离群点。

3.3 数据集成

复制代码
    数据挖掘经常需要数据集成(合并来自多个数据存储的数据)。小心集成有助于减少结果数据集的冗余和不一致。

实体识别问题

数据分析任务多半涉及数据集成。数据集成将多个数据源中数据合并,存放在一个一致的数据存储中,如存放在数据仓库中。这些数据源可能包括多个数据库、数据立方体或一般文件。在数据集成时,有许多问题需要考虑。模式集成和对象匹配可能需要技巧。来自多个信息源的现实世界的等价实体如何才能“匹配”?这涉及到实体识别问题。例如,数据分析者或者计算机如何才能确信一个数据库中customer_id和另一个数据库中的cust_number指的是相同的属性?每个属性的元数据包括名字、含义、数据类型和属性的允许的范围,以及处理空白、零和null值得空值规则。

冗余和相关分析

复制代码
    冗余是数据集成的另一个重要问题。一个属性(例如,年收入)如果能由另一个或另一组属性“导出”,这个属性可能是冗余的。维性或维命名的不一致也可能导致结果数据集中的冗余。

有些冗余可以被相关分析检测到。给定两个属性,这种分析可以根据可用的数据,度量一个属性能在多大程度上蕴含另一个。对于标称数据,我们使用 \chi ^2(卡方)检验。对于数值属性,我们使用相关系数(correlation coefficient)和协方差(covariance),它们都评估一个属性的值如何随另一个变化。
- 标称数据的\chi ^2相关检验:对于标称数据,两个属性A和B之间的相关联系可以通过检验发现。假设A有c个不同的值a_1,a_2,...,a_c,B有r个不同的值b_1,b_2,...,b_r。用A和B描述的数据元组可以用一个相依表显示,其中A的c个值构成列,B的r个值构成行。令(A_i,B_j)表示属性A取值a_i、属性B取值b_j的联合事件,即(A=a_i,B=b_j)。每个可能的(A_i,B_j)联合事件都在表中有自己的单元。\chi ^2值(又称为Pearson\chi ^2统计量)可以使用下式计算:

。其中, o_{ij}是联合事件(A_i,B_j)的观测频度(即实际计数), 而e_{ij}是(A_i,B_j)的期望频度,它可以使用下式计算: 。其中,n是数据元组的个数, count(A=a_i)是A上具有值a_i的元组个数,而count(B=b_j)是B上具有值b_j的元组个数。共r*c个单元上计算。 \chi ^2统计检验假设A和B是独立的。检验基于显著水平,具有自由度(r-1)*(c-1)。如果可以拒绝该假设,则我们说A和B统计相关。
- 数值数据的相关系数:对于数值数据,我们可以通过计算属性A和B的相关系数,估计这两个属性的相关度 r_{A,B}, ,n是元组的个数, a_i和b_i分别是元组i在A和B上的值,\bar A和\bar B分别是A和B的均值,\sigma _A和\sigma _B分别是A和B的标准差。 注意,-1<=r_{A,B}<=1。如果r_{A,B}大于0,则A和B是正相关的,这意味着A的值随B的值增加而增加。该值越大相关性越强。因此,一个较高的r_{A,B}值表明A或B可以作为冗余而删除。 如果该值为0则A和B独立,并且他们之间不存在相关性。如果该值小于0,则A和B是负相关,一个值随另一个值减少而增加。
- 数值数据的协方差:在概率论与统计学中,协方差和方差是两个类似的度量,评估两个属性如何一起变化。考虑两个数值属性A、B和n次观测的集合 {(a_1,b_1),...,(a_n,b_n)}。A和B的均值有分别称为A和B的期望值,即 且 。A和B的 协方差(covariance)定义为: 。如果我们把 r_{A,B}与上式相比较,则我们可以看到 。

3.4 数据归约

数据归约的策略包括维归约、数量归约和数据压缩。
- 维归约:减少所考虑的随机变量或属性的个数,维归约包括小波变换和主成分分析,它们把原始数据变换或投影到较小的空间。属性子集选择是一种维归约方法,其中不相关、弱相关或冗余的属性或维检测和删除。
- 数量归约:用替代的、较小的数据表示形式替换原数据。
- 数据压缩:使用变换,以便得到原数据的归约或压缩表示。如果原数据能够从压缩后的数据重构,而不损失信息,则该数据归约称为无损的。如果我们能近似的重构原数据,则该数据归约称为有损的。

3.5 数据变换与数据离散化

在数据变换中,数据被变换或统一成适合挖掘的形式。数据变换策略包括如下几种:
- 光滑:去掉数据中的噪声。这类技术包括分箱、回归和聚类。
- 属性构造(或特征构造):可以由给定的属性构造新的属性并添加到属性集中,以帮助挖掘。
- 聚集:对数据进行汇集或聚集。例如,可以聚集日销售数据,计算月和年销售量。通常,这一步用来为多个抽象层的数据分析构造数据立方体。
- 规范化:把属性数据按比例缩放,使之落在一个特定的小区间,如-1.01.0或者0.01.0。
- 离散化:数值属性的原始值用区间标签或概念标签替换。这些标签可以递归的组织成更高层概念,导致数值属性的概念分层。
- 由标称数据产生概念分层:属性,如street,可以泛化到较高的概念层,如ciry或country。

通过规范化变换数据

所用的度量单位可能影响数据分析。下面将描述三种数据规范化:
- 最小-最大规范化:对原始数据进行线性变换。假设 min_A和max_A分别为属性A的最小值和最大值。最小-最大规范化通过计算:
。把A的值 v_i映射到区间[new_min_A,new_max_A]中的 v_i ^‘。最小-最大规范化保持原始数据之间的联系。如果今后的输入实例落入到A的原始数据值之外,则该方法将面临越界的错误。

  • z分数规范化(零均值规范化):属性\bar A的值基于A的均值(平均值)和标准差规范化。A的值v_i被规范化为v_i^‘ ,由下式计算: 。其中,\bar A和\sigma _A分别为属性A的均值和标准差。当属性A的实际最大最小值未知,或离群点左右了最小-最大规范化时,该方法有用。
  • 小数定标规范化:通过移动属性A的值的小数点位置进行规范化。小数点的移动位数依赖于A的最大绝对值。A的值v_i被规范化为v_i^‘,通过下式计算:

全部评论 (0)

还没有任何评论哟~