第四章数据预处理李晋宏北方工业大学信息工程学院北方工业大学信息工程学院内容数据预处理概述数据清洗数据集成和变换数据归约北方工业大学信息工程学院数据预处理概述北方工业大学信息工程学院数据预处理概述原始业务数据(或数据仓库)是数据挖掘的信息来源这些数据通常含有噪声、大量的空缺值和不一致现象影响数据挖掘的效率和结果的有用性,甚至产生一些无效归约北方工业大学信息工程学院数据预处理概述根据用户的需要确定挖掘任务在领域专家的建议和指导小采用合适的方法重新组织原始数据为数据挖掘过程提供干净、准确、简洁的数据提高数据挖掘效率和准确性使之能够最大程度上支持数据挖掘算法北方工业大学信息工程学院数据预处理概述原始数据中存在的问题不一致•原始数据来源于多个不同的应用系统或数据库•缺乏统一的分类标准和信息的编码方案北方工业大学信息工程学院数据预处理概述原始数据中存在的问题重复•同一事物在数据库中存在两条或多条完全相同的记录•相同的信息冗余地存在于多个数据源中北方工业大学信息工程学院数据预处理概述原始数据中存在的问题不完整•某些属性值可能会缺失或者不确定含噪声•一个测量变量中的随机错误或偏离期望的孤立点值北方工业大学信息工程学院数据预处理概述原始数据中存在的问题纬度高•在一次数据挖掘中,只需要一部分属性就可以得到期望知道的知识数据不平衡•某类样本数量明显少于其他类样本数量的数据集北方工业大学信息工程学院数据预处理概述数据预处理的方法和功能数据清洗(Datacleaning)•填充空缺值•识别孤立点•去掉原始数据中的噪声和无关数据北方工业大学信息工程学院数据预处理概述数据预处理的方法和功能数据集成(Dataintegration)•将多个数据源中的数据结合起来存放在一个一致的数据存储中•涉及多个数据源的数据匹配问题,数值冲突问题和数据的冗余问题等北方工业大学信息工程学院数据预处理概述数据预处理的方法和功能数据变换(Datatransformation)•把原始数据转换成为适合数据挖掘的形式•对数据的汇总、聚集、概化、规范化等•包括进行属性的构造北方工业大学信息工程学院数据预处理概述数据预处理的方法和功能数据归约(Datareduction)•产生数据的归约表示•使得数据量减小,更适合于数据挖掘算法的需要,并且能够得到和原始数据相同的分析结果•包括数据立方体聚集、维归约、数据压缩、数值归约、离散化和概念分层等数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能北方工业大学信息工程学院数据清洗属性选择与处理从原始数据中选取合适的属性进行数据挖掘选取原则•尽可能赋予属性名和属性值明确的含义•统一多数据源的属性值编码–保证在各个数据源中对同一事物特征的描述是统一的–如男、女,0、1,M、F等北方工业大学信息工程学院数据清洗属性选择与处理选取原则•处理唯一属性–原始数据中的关键属性或唯一属性对数据挖掘是无用的–如ID,姓名等•去除重复属性–原始数据中会出现意义相同或者可以用于表示同一信息的多个属性–如年龄和出生日期北方工业大学信息工程学院数据清洗属性选择与处理选取原则•去除可忽略字段–当一个属性缺失非常严重时•合理选择关联字段–如果属性X可以由另一个或多个属性推导或者计算出来,则认为这些字段之间的关联度高–属性和它的关联属性只选择其一即可–如商品的价格、数量和总价格–月薪与年薪数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能北方工业大学信息工程学院数据清洗空缺值处理忽略该记录去掉属性写空缺值•依据背景资料,手工填写使用默认值•Unknown•挖掘算法可能认为形成了一个有用的知识使用属性平均值北方工业大学信息工程学院数据清洗空缺值处理使用同类样本平均值预测最可能的值•从现有数据的多个信息推测空缺值•根据其他完整的记录数据,使用一定的预测方法,得到最可能的预测值•一些数据挖掘算法在处理空值方面的能力比较强,如决策树算法、关联规则算法等,能够快速产生较为准确的知识模型!数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能北方工业大学信息工程学院数据清洗噪声数据处理噪声:在测量一个变量时可能产生一些误差或者错误,使得测量值相对于真实值有一定的偏差,这种偏差称之为噪声处理方法•分箱•聚类•回归北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•通过考察相邻数据来确定最终值•把待处理的数据(某列属性值)按照一定的规则放进一些箱子中,考察每一个箱子中的数据,采用某种方法分别对各个箱子中的数据进行处理–数据排序–确定箱子个数/每组个数(深度)–采用分箱方法(统一权重,统一区间,最小熵,用户自定义区间)–平滑处理(对每一个数据)北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•箱子:按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就把该属性值放进这个子区间代表的箱子内•统一权重–又称等深分箱法–每箱有相同的记录数–每箱记录数称为箱的权重北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•统一区间–也称等宽分箱法–使数据集在整个属性值的区间上平均分布–每个箱的区间范围是一个常量北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•最小熵–使在各区间分组内的记录具有最小的熵–熵是信息理论中数据无序程度的度量标准–数据集的熵越低,说明数据之间的差异越小–最小熵划分就是为了使每箱中的数据具有最好的相似性–最小熵方法得到的各个分箱的全体,应该是各种分箱可能中,具有最小熵的分箱结果北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•用户自定义区间–按用户的需求定义某些希望观察的区间•对数据进行平滑–按平均值:对同一箱中的数据求平均值,并用这个平均值替代该箱中的所有数据–按边界值:对于箱子中的每个数据,观察它与箱子两个边界值的距离,并用距离较小的那个边界值替代该数据–按中值:取箱子的中值,来替代本箱中的所有数据,如果个数是偶数,用中间两个数的平均值北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–一个表的客户收入字段(属性)–共16个记录5000,800,1000,2000,1800,2300,2500,35004800,4500,1200,1500,2800,3000,1500,4000北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–排序800,1000,1200,1500,1500,1800,2000,23002500,2800,3000,3500,4000,4500,4800,5000–分箱个数–统一权重:箱子深度为4(箱子里的数目)–统一区间:箱子的数目为4–自定义:箱子个数为5北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–统一权重北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–统一区间:数据取值范围为[800,5000],每个箱子的宽度为(5000-800)/4,得到4个宽度相等的子区间:[800,1850)、[1850,2900)、[2900,3950)、[3950,5000)北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–用户自定义:1000以下、1000~2000、2000~3000、3000~4000、4000以上北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–按平均值平滑北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–按边界值平滑北方工业大学信息工程学院数据清洗噪声数据处理分箱(binning)•例子–按中值平滑北方工业大学信息工程学院数据清洗噪声数据处理聚类(clustering)•将物理的或抽象对象的集合分组为由类似的对象组成的多个类的过程•聚类的结果是生成一组由数据对象组成的集合,成为簇•同一簇中的对象具有相似性,并且一个对象与同簇中任何一个对象之间的相似性一定强于它与其他簇中任何一个对象之间的相似性物以类聚人以群分北方工业大学信息工程学院数据清洗噪声数据处理聚类•要找到那些落在簇之外的值,称为孤立点•这些孤立点被视为噪声•聚类方法不需要任何先验知识(无示教学习)数据清洗噪声数据处理聚类•分几类,如何确定质心/重心,相似性算法北方工业大学信息工程学院数据清洗噪声数据处理回归(regression)•回归试图发现相关的变量之间的变化模式•通过使数据适合一个函数来平滑数据,即通过建立数据模型来预测下一个数值•回归方法分为线性回归和非线性回归•如Y=aX+b一元线性回归•Z=aX+bY+c多元线性回归•可以使用最小二乘法求得回归系数a,b北方工业大学信息工程学院数据清洗噪声数据处理回归(regression)•如Y=a+bX+cX2非线性回归数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能北方工业大学信息工程学院数据清洗不平衡数据的处理各类样本数目不平衡情况下的分类学习如二分类中的正类的学习样本比负类的学习样本多得多如欺诈识别、入侵检测、医疗诊断以及文本分类等都是典型的不平衡数据问题北方工业大学信息工程学院数据清洗不平衡数据的处理基本思想是通过改变训练数据的分布来消除或减小数据的不平衡分为以下方法•过抽样•欠抽样北方工业大学信息工程学院数据清洗不平衡数据的处理过抽样•通过增加少数类样本来提高少数类的分类性能•如复制少数类样本•没有给少数类增加任何新的信息,而且可能会导致过度拟合欠抽样•通过减少多数类样本来提高少数类的分类性能•通过随机地去掉一些多数类样本来减少多数类的规模•会丢失多数类的一些重要信息数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能北方工业大学信息工程学院数据集成和变换数据集成把多个数据存储合并起来数据变换为了使数据符合算法和挖掘目标的需要,如数据的取值范围、粒度等,需要对它们进行变换之后才能使用北方工业大学信息工程学院数据集成和变换数据集成涉及数据的冲突问题和不一致数据的处理问题•模式匹配•数据冗余•数据值冲突北方工业大学信息工程学院数据集成和变换数据集成模式匹配•用户希望发现客户背景和客户购买类型、购买力的关系北方工业大学信息工程学院数据集成和变换数据集成数据冗余•重复:多个相同的记录•冗余属性:一个属性可以由其他属性推导得出北方工业大学信息工程学院数据集成和变换数据集成数据冗余•相关分析法:检测一个属性蕴涵另一个属性的可能性北方工业大学信息工程学院数据集成和变换数据集成数据值冲突•在多个数据源中,表示同一实体的属性值可能不同•如单位为元、千元;类型为0/1、Y/N等数据预处理数据清洗数据集成和变换数据归约属性选择与处理空缺值处理噪声数据处理不平衡数据的处理数据集成数据变换数据立方体聚集维归约数据压缩数值归约离散化与概念分层数据预处理的方法与功能北方工业大学信息工程学院数据集成和变换数据变换平滑聚集数据概化规范化北方工业大学信息工程学院数据集成和变换数据变换平滑•去除噪声,将连续的数据离散化,增加粒度等•分箱、聚类、回归等方法•实际上是把一个区域