机器学习系列--数据预处理

预处理

现实世界数据源极易受噪声、缺失值和不一致数据的侵扰。低质量的数据将导致低质量的挖掘结果。

 

属性是一个数据字段,表示数据对象的一个特征。

标称属性:一些符号或者事物的名称,比如:职业,学历

 

二元属性:一种标称属性,只有两个类别或者状态:0或1,其中0表示不出现,1表示出现。对称,比如:男女,没有偏好

。非对称,比如:疾病,阴性和阳性,结果不是同样重要。

 

序数属性:其可能的值之间具有有意义的序或秩评定,但相继值之间的差是未知的。比如:成绩(A,A-,B-,B+等)。标称,二元和序数属性都是定性。即,它们描述对象的特征,而不给出实际大小或数量。

 

数值属性:是定量,即它是可度量的量。区间标度属性,属性用相等的单位尺度度量。区间属性的值有序,可以为正,0或负。比如:温度20度比5度高出15度。比率标度属性,属性固有零点的数值属性。比如:重量、高度、速度和货币量。

 

离散属性与连续属性:机器学习领域的分类算法通常把属性分成离散属性与连续属性。离散属性具有有限或无限可数个值,可以用或不用整数表示。属性不是离散,则它是连续属性。术语“数值属性”与“连续属性”通常可以交换使用,连续值是实数,数值的值可以是整数或实数。

 

度量数据:相似性和相异性都称邻近性。相似值越大,对象之间的相似性越大。相异性度量正好相反。两种数据结构:数据矩阵,对象-属性结构。相异性矩阵。

 

一.数据清理

简介:试图填充缺失值、光滑噪声并识别离群点、纠正数据中不一致。

 

1.缺失值

忽略:有可能影响结果

人工填写缺失值

使用一个全局常量填充缺失值:将缺失的属性值用同一个常量替换。

使用属性的中心度量(均值或中位数)填充缺失值

使用与给定元组属同一类的所有样本的属性均值或中位数

使用最可能的值填充缺失值:可以用回归、使用贝叶斯形式化方法的基于推理的工具或决策树归纳确定。

 

2.异常值

简介:异常值,即在数据集中存在不合理的值,又称离群点。

判断方法:

对属性值进行一个描述性统计,查看哪些值不合理。

 

3δ原则

当数据服从正态分布:

根据正态分布的定义可知,距离平均值3δ之外的概率为 P(|x-μ|>3δ) <= 0.003 ,这属于极小概率事件,在默认情况下我们可以认定,距离超过平均值3δ的样本是不存在的。 因此,当样本距离平均值大于3δ,则认定该样本为异常值。

 

当数据不服从正态分布:

当数据不服从正态分布,可以通过远离平均距离多少倍的标准差来判定,多少倍的取值需要根据经验和实际情况来决定。

 

分箱

通过考察数据的”近邻”来光滑有序数据值。

 

等宽分箱:每个”桶”的区间宽度相同

等深分箱:每个”桶”的样本个数相同

用户自定义区间分箱

 

数据平滑

按平均值平滑:对同一箱中数据求平均值,用平均值代替该箱子中的所有数据。

按边界值平滑:用距离较小的边界值替代箱中所有数据。

按中位数平滑:取箱子的中位数,用来替代箱子中所有数据。

回归:

也可用一个函数拟合数据来光滑数据。线性回归涉及找出拟合两个属性(或变量)的”最佳”直线,使得一个属性可以用来预测另一个。

数据离散化:将定量数据向定性数据转化。

 

离群点分析:

可以通过聚类来检查离群点

分类:

全局离群点:个别数据离整体数据较远

集体离群点:一组数据与其他数据分布方式不同

情景离群点

 

直接删除异常值

将异常值视为缺失值,交给缺失值处理方法来处理

用平均值来修正

不处理

 

二.数据集成

合并来自多个数据存储的数据。小心集成有助于减少结果数据集的冗余和不一致。

 

1.实体识别问题

涉及多个数据源,对象匹配问题,属性名称相同含义不同等等。属性的元数据包括名称、含义、数据类型和属性的允许取值范围,以及处理空白、零或NULL值得空值规则。这样元数据可以帮助避免模式集成的错误。元数据可以用来帮助变换数据。

 

2.冗余

一个属性(例如:年收入) 如果能由另一个或另一组属性”导出”,则这个属性可能是冗余。

 

标称数据的相关检验

对于标称数据,两个属性A和B之间的相关联系可以通过卡方检验发现。假设A有c个不同值a1,a2,…,ac,B有r个不同值b1,b2,…,br。用A和B描述的数据元组可以用一个相依表显示,其中A的c个值构成列,B的r个值构成行。令(Ai,Bi)表示属性A取值ai、属性B取值bj的联合事件,即(A=ai,B=bj)。每个可能的(Ai,Bj)联合事件都在表中有自己的单元。值(又称Pearson 统计量)可以用下式计算:

其中,是联合事件(Ai,Bj)观测频度(即实际计数),而是(Ai,Bj)的期望频度,可以用下式计算:

其中,n是数据元组的个数,count(A=ai)是A上具有值ai得元组个数,而count(B=bj)是B上具有值bj得元组个数。

统计检验假设A和B是独立。检验基于显著水平,具有自由度(r-1)*(c-1)。

 

数值数据的相关系数

对于数值数据,我们可以通过计算属性A和B的相关系数(又称Pearson积矩系数)估计这两个属性的相关度

其中,n是元组的个数,ai和bi分别是元组i在A和B上的值,和分别是A和B的均值,和分别是A和B的标准差,而是AB叉积和(即对于每个元组,A的值乘以该元组B的值)。注意,。如果大于0,则A和B是正相关,这意味着A值随B值得增加而增加。该值越大,相关性越强。因此,一个较高值表明A(或B)可以作为冗余而被删除。

注意:相关性并不蕴含因果关系。也就是说,如果A和B相关的,这并不意味着A导致B或B导致A。

 

数值数据的协方差

在概率论与统计学,协方差和方差是两个类似的度量,评估两个属性如何一起变化。

考虑两个数值属性A、B和n次观测的集合{(a1,b1),…,(an,bn)}。A和B的均值又分别称A和B的期望值,即

 

A和B的协方差定义为:

我们把(协相关系数)相比较,我们看到:其中,和分别A和B标准差。还可以证明:

 

如果A和B是独立(即它们不具有相关性),则。因此,协方差。然而,其逆不成立。某些随机变量(属性)对可能具有协方差0,但是不是独立。仅在某种附加的假设下(如数据遵守多元正态分布),协方差0蕴含独立性。

 

3.元组重复

除了检测属性间的冗余外,还应当在元组级检测重复(例如,对于给定的唯一数据实体,存在两个或多个相同的元组)。

 

4.数据值冲突的检测与处理(略)

 

三.数据归约

简介:缩小体积,但仍接近于保持原始数据的完整性。

 

维归约

减少所考虑的随机变量或属性的个数。方法包括:小波变换和主成分分析,它们把原始数据变换或投影到较小的空间。属性子集选择是一种维归约方法,其中不相关、弱相关或冗余的属性或维被检测和删除。

 

小波变换

作用:小波变换后的数据可以截短,仅存放一小部分最强的小波系数,就能保留近似压缩数据。

小波变换有许多实际应用,包括指纹图像压缩,计算机视觉、时间序列数据分析和数据清理和数据立方体多维数据。

 

方法(略),后续讨论

 

主成分分析

简介:假设待归约的数据由n个属性或维描述的元组或数据向量组成。主成分分析(PCA)搜索k个最能代表数据的n维正交向量,其中k<=n。这样,原数据投影到一个小的多的空间上,导致维归约。与属性子集选择通过保留原属性集的一个子集来减少属性集的大小不同,PCA通过创建一个替换、较小的变量集“组合“属性的基本要素。

  1. 数据规范化,使得每个属性都落入相同的区间。此步有助于确保具有较大定义域的属性不会支配具有较小定义域的属性。

  2. PCA计算k个标准正交向量,作为规范化输入数据的基。这些是单词向量,每一个都垂直于其他向量。这些向量称为主成分,输入数据是主成分的线性组合。

  3. 主成分按“重要性”或强度降序排列。主成分本质上充当数据的新坐标系,根据方差排序。

  4. 去除较弱的成分(方差较小的)

PCA可以用于有序和无序的属性,并且可以处理稀疏和倾斜数据。多于二维的多维数据可以通过将问题归约为二维问题来处理。主成分可以用做多元回归和聚类分析的输入。小波变换相比,PCA能够更好处理稀疏数据,小波变换更适合处理高维数据。

 

属性子集选择

通过删除不相关或冗余的属性(或维)减少数据量。

“最好的”(最差的)属性通常使用统计显著性检验来确定

方法:

1.逐步向前选择:该过程由空属性集作为归约集开始,确定原属性集中最好的属性,并将它添加到归约集中。

2.逐步向后删除:该过程由整个属性集开始。每一步中,删除尚在属性集中最差的属性。

3.逐步向前选择和逐步向后删除的组合

4.决策树归纳

 

数量归约

用替代、较小的数据表示形式替换原数据。

 

回归和对数线性模型:参数化数据归约

回归和对数线性模型可以用来近似给定的数据。在(简单)线性回归中,对数据建模,使之拟合到一条直线,例如,可以用以下公式,将随机变量y(称做因变量)表示为另一随机变量x(称自变量)的线性函数,y=wx+b.

 

直方图

将属性A的数据分布划分为不相交的子集或桶。

划分规则

等宽,等频

 

聚类

把数据元组看成对象。它将对象划分为群或簇,使得在一个对象相互“相似“,而与其他簇中的对象”相异”。

 

抽样

因为它允许用数据小的多随机样本表示大型数据集。

1.无放回简单随机抽样

2.有放回简单随机抽样

3.簇抽样

4.分层抽样

 

数据立方体

 

数据压缩

使用交换,以便得到原数据的归约或“压缩“表示。

维归约和数量归约可以视为某种形式数据压缩。

 

四.数据变换和数据离散化

数据变换

变换成适合时间挖掘的形式,例如,在规范化中,属性数据可以缩放,是的它们可以落在较小的区间,如0.0到1.0.。其它例子包括数据离散化和概念分层产生。

数据离散化通过把值映射到区间或概念标号变换数值数据。这种方法可以用来自动地产生数据的概念分层,而概念分层允许在多个粒度层进行挖掘。离散化技术包括分箱、直方图分箱、聚类分箱、决策树、相关分析。对于标称数据,概念分层可以基于模式定义以及每个属性的不同值个数格式。

 

参考《数据挖掘概念与技术》