本章主要讲述了数据的预处理技术:数据清理、数据集成、数据归约、数据变换。数据清理可以用来清除数据中的噪声,纠正不一致。数据集成将数据由多个数据源合并成一个一致的数据存储,如数据仓库。数据归约可以通过如聚集、删除冗余特征或聚类来降低数据规模。数据变换可以用来把数据压缩到较小区间,如0.0到1.0。
3.1 数据预处理:概述
数据如果能满足应用要求,那么它是高质量的。数据质量涉及到许多因素,包括准确性、完整性、一致性、时效性、可信性和可解释性。
数据预处理的主要任务:数据清理、数据集成、数据归约、数据变换。
3.2 数据清理
现实世界的数据一般是不完整、有噪声和不一致的。
数据清理试图填充缺失的值、光滑噪声并识别离群点、纠正 数据中的不一致
1、数据缺失
- 忽略元组(关系数据库中的记录或行,每个元组代表一个对象):
- 人工填写缺失值
- 使用一个全局变量填充缺失值
- 使用属性的中心度量(如均值或中位数)填充缺失值
- 使用与给定元组属同一类的所有样本的属性均值或中位数
- 使用最可能的值填充缺失值
其中方法(3)~(6)使数据有偏,填入的值可能不正确。然而,方法6是最流行的策略。
2、噪声数据
噪声是被测量的变量的随机误差或方差,给定一个属性值,我们怎样才能光滑数据、去掉噪声?下面说一说数据光滑技术。
- 分箱(binning)技术:似乎不很靠谱,不介绍了。
- 回归(regression):可以用一个函数拟合数据来光滑数据。这种技术成为回归。线性回归涉及找出拟合两个属性(或变量)的最佳值,使得一个属性可以用来预测另一个。多元线性回归是线性回归的扩充,其中涉及的属性多于两个,并且数据拟合到一个多维曲面。
- 离群点分析(outlier analysis):可以通过如聚类来检测离群点。聚类将类似的值组织成群或簇。直观的在簇之外的被视为离群点。
3.3 数据集成
数据挖掘经常需要数据集成(合并来自多个数据存储的数据)。小心集成有助于减少结果数据集的冗余和不一致。
实体识别问题
数据分析任务多半涉及数据集成。数据集成将多个数据源中数据合并,存放在一个一致的数据存储中,如存放在数据仓库中。这些数据源可能包括多个数据库、数据立方体或一般文件。在数据集成时,有许多问题需要考虑。模式集成和对象匹配可能需要技巧。来自多个信息源的现实世界的等价实体如何才能“匹配”?这涉及到实体识别问题。例如,数据分析者或者计算机如何才能确信一个数据库中customer_id和另一个数据库中的cust_number指的是相同的属性?每个属性的元数据包括名字、含义、数据类型和属性的允许的范围,以及处理空白、零和null值得空值规则。
冗余和相关分析
冗余是数据集成的另一个重要问题。一个属性(例如,年收入)如果能由另一个或另一组属性“导出”,这个属性可能是冗余的。维性或维命名的不一致也可能导致结果数据集中的冗余。
有些冗余可以被相关分析检测到。给定两个属性,这种分析可以根据可用的数据,度量一个属性能在多大程度上蕴含另一个。对于标称数据,我们使用 χ2 (卡方)检验。对于数值属性,我们使用相关系数(correlation coefficient)和协方差(covariance),它们都评估一个属性的值如何随另一个变化。
- 标称数据的 χ2 相关检验:对于标称数据,两个属性A和B之间的相关联系可以通过 χ2 检验发现。假设A有c个不同的值 a1,a2,...,ac ,B有r个不同的值 b1,b2,...,br 。用A和B描述的数据元组可以用一个相依表显示,其中A的c个值构成列,B的r个值构成行。令 (Ai,Bj) 表示属性A取值 ai 、属性B取值 bj 的联合事件,即 (A=ai,B=bj) 。每个可能的 (Ai,Bj) 联合事件都在表中有自己的单元。 χ2值(又称为Pearsonχ2统计量) 可以使用下式计算: