《数据仓库与数据挖掘教程》–黄德才
数据仓库
多源数据问题
1、数据不一致:多个数据源抽数并集成得到的同一数据可能不一致
2、数据属性差异:同一含义的数据在不同数据源中用了不同类型、长度或者量纲来描述
3、数据重复:一个数据可以通过其他若干数据计算得到
4、数据不完整
5、噪声数据:测量数据时遇到的随机或其他不确定性干扰因素,导致被测量的数据产生了偏差或错误
6、高维数据:即多余的属性
7、模式不统一:即将集成为单一数据集的两个或多个数据源的模式不同,就称为模式不统一
8、数据不平衡:某一类样本的数量明显少于其他类型样本的数量,则该数据集称为不平衡数据集。
数据预处理
数据清洗
1、属性的处理
重命名属性
统一属性(属性的长度、类型、值域)
处理主键属性、派生新属性(如将日期拆分年月日季)
选择相关属性(如属性A的值可以由另外一个或多个属性值计算出来,则A和这些属性是相关的,在数据准备时只选择其中之一,或者选择属性A,或者选择他相关的属性)
2、空值处理
人工填补
忽略记录
忽略属性
使用默认值(如unknown、*来填补,以表示该属性是未知的)
使用平均值(对于连续属性可以用所有记录该属性上非空值的平均值来填补空值)
使用预测值(根据有数据集中又完整数据的记录,使用一定的预测方法,计算得到一个记录空值属性最有可能的取值,称为该属性的预测值)
3、数据噪声处理
数据噪声即数据中存在错误或异常的数据
分箱
步骤:
step1 对数据集的数据进行排序
step2 确定箱子的个数k,选定数据分箱的方法并对数据集中数据进行分箱
step3 选定处理箱子数据的方法,并对其重新赋值
常用方法:
1)等深分箱法:把数据集中的数据按照排列顺序分配到k个箱子中
k整除数数据量n时,每个箱子数据量p=k/n
k不整除n时,前p个箱子数据量p=L n/k 」(商),后k-p个数据量q=n-k*p
2)等宽分箱法:把数据集最小值和最大值形成的区间分为k个长度相等,左闭右开的子区间(最后一个除外)
3)用户自定义区间
完成数据分箱之后,要选择一种方法对每个箱子中的数据进行单独处理,并重新赋值,使得数据尽可能接近实际或用户认为合理的值,这一赋值过程称为数据平滑。
数据平滑的方式有三种:
1)按平均值平滑:求该箱子中数据的平均值,并用平均值代替其中的所有数据
2)按边界值平滑:同一箱子中的每一个数据,用与箱子边界差值较小的边界值代替该数据
3)按中值平滑:用箱子的中位数来替代箱子中的所有数据
4、不平衡数据处理
过抽样(oversampling)
在样本集中增加少数类样本来提高少数类样本的数量,如复制少数类样本。
缺点是引入了额外的训练数据,可能会导致过拟合
欠抽样(undersampling)
通过减少样本集中多数类样本的数量来提高少数类样本的比例,通常通过随机方法,去掉一些多数类样本来减少多数类的规模。
这种方法对已有信息利用不充分,可能会丢失多数类样本的一些重要信息。
数据变换
原始数据表中的数据不适合直接挖掘或无法加载到数仓中,需要对他们进行变换。如常见的长度、类型转换,还有数据聚集、数据概化、数据规范化等内容。
1、数据聚集
即对数据进行汇总。如消费总额。
2、数据概化/数据概括(data generalization)
即用高维度层次的数据代替较低维度层次的数据。
如分析每天旅客入住情况,用日来替换入住的具体时分秒时间;用旅客出生的年代如90、00后代替具体出生日期。
3、数据规范化/数据标准化(normalization)
即将原始数据按一定的比例缩放,使之落入某个特定区间的方法。如果规范化结果落入的区间是[0,1]就成为无量纲化。
常用的数据规范化方法:
1)最小-最大规范化(MIN-MAX normalization)
对原来区间中的任意一个值x,在新区间中都有唯一的x‘与它对应。
x ′ = ( x − O l d M i n ) ( N e w M a x − N e w M i n ) ( O l d M a