北京大学信息管理系《数据挖掘导论》讲义第二章数据准备北京大学信息管理系2016年秋
北京大学信息管理系 《数据挖掘导论》讲义 第二章 数据准备 北京大学信息管理系 2016 年秋
北京大学信息管理系数据挖掘导论第二章数据准备目录第二章数据准备22.1数据类型.22.1.1离散型数据..22.1.2连续型数据...22.2数据预处理..22.2.1数据预处理的原因..22.2.2数据预处理的主要步骤.32.3数据清理,52.3.1空缺值...52.3.2噪声数据..52.4数据集成2.4.1实体识别问题12.4.2数据余...2.4.3元组重复..82.5数据归约...82.5.1数据立方体聚集.92.5.2维归约....102.5.3数量归约....112.4数据压缩.....122.6数据变换,.122.6.1数据规范化..122.6.2数据离散化与概念分层..132.7数据预处理的软件操作(SPSSModeler)162.7.1数据类型....162.7.2数据清理....17(1)缺失值与无效值.17(2)孤立值和极值...222.7.3数据集成..25(1)纵向追加..25(2)横向合并......26(3)元组重复.282.7.4数据归约...29(1)抽样.....29(2)分箱.....32(3)特征选择....36(4)因子分析..372.7.5数据变换.40参考文献.411
北京大学信息管理系 数据挖掘导论 第二章数据准备 1 目录 第二章 数据准备. 2 2.1 数据类型. 2 2.1.1 离散型数据.2 2.1.2 连续型数据.2 2.2 数据预处理. 2 2.2.1 数据预处理的原因.2 2.2.2 数据预处理的主要步骤.3 2.3 数据清理. 5 2.3.1 空缺值.5 2.3.2 噪声数据.5 2.4 数据集成. 7 2.4.1 实体识别问题.7 2.4.2 数据冗余.7 2.4.3 元组重复.8 2.5 数据归约. 8 2.5.1 数据立方体聚集.9 2.5.2 维归约.10 2.5.3 数量归约.11 2.5.4 数据压缩.12 2.6 数据变换. 12 2.6.1 数据规范化.12 2.6.2 数据离散化与概念分层.13 2.7 数据预处理的软件操作(SPSS Modeler). 16 2.7.1 数据类型.16 2.7.2 数据清理.17 (1)缺失值与无效值.17 (2)孤立值和极值.22 2.7.3 数据集成.25 (1)纵向追加.25 (2)横向合并.26 (3)元组重复.28 2.7.4 数据归约.29 (1)抽样.29 (2)分箱.32 (3)特征选择.36 (4)因子分析.37 2.7.5 数据变换.40 参考文献. 41
北京大学信息管理系数据挖掘导论第二章数据准备第二章数据准备2.1数据类型数据的区分方法有很多,按照数据基本性质划分,可分为标称(nominal)、序数(ordinal)区间(interval)和比率(ratio);按照可能取值的个数判断,可分为离散(discrete)和连续(continuous)。2.1.1离散型数据离散型数据具有有限或无限可数个值,例如顾客的唯一标识号customer_ID是无限可数的,因为顾客的数量可以无限增长(虽然事实上实际值的集合是可数的);而一个国家的邮政编码是有限个值。一般来说,离散型数据可对应数据的标称属性和序数属性。:标称属性:是一些符号或事物的名称,每个值代表某种类别、编码或状态,并且不必具有有意义的序。因此标称属性又被看做是分类的,它只提供足够的信息来区分对象。例如头发颜色hair_color的可能值为黑色、棕色、黄色、红色、白色;职业occupation的可能值为教师、医生、警察等。标称属性除了可以用文字来表示,还可以用数字,例如刚才的haircolor属性,我们可以用0代表白色,1代表黑色;代表顾客唯一标示的customerID的取值可能也都是数字,但这些数字并没有数学上的运算意义。·二元属性是一种特殊的标称属性,只有两个类别或状态:一般可以用0或1表示,0代表不具备该属性,1表示具有该属性。一个二元属性如果是对称的,说明它的两种状态具有同等价值,即哪个结果应该用0或1并无偏好,例如代表性别gender的男、女属性;如果是非对称的,说明不同状态的结果不是同等重要,例如艾滋病病毒化验的阳性和阴性结果,我们一般更注重于化验结果为阳性的人群(即稀有结果的出现),因此一般用1来表示相对重要的结果,0表示另一个。·序数属性:同标称属性一样都是将数据进行分类,但它的取值之间具有有意义的序。例如成绩grade的取值可能为优、良、可、差;教师职称professional_rank可分为教授、副教授、讲师、助教。这些值可以提供足够的信息确定对象的序,但两种序之间的差并不能定量计算。2.1.2连续型数据连续型数据的经典定义是取实数值的属性,如温度、高度或重量等,通常连续型数据用浮点变量表示。但是在实践中,连续型数据通常既包括比率属性,也包括区间属性。比率属性:是具有固有零点的数值属性,例如年龄、绝对温度、长度、工作年限等。·对于这些数据来说,差和倍数都是有意义的。区间属性:没有绝对的零点,例如摄氏温度中0℃不表示没有温度,因此我们虽然·可以计算温度值之差,但不嫩说一个温度值是另一个的倍数。类似地,日历日期也没有绝对的零点,因为0年并不对应于时间的开始。2.2数据预处理2.2.1数据预处理的原因数据预处理的目的是提高数据挖掘的质量,以及降低实际挖掘所需要的时间。数据质量问题可以从应用的角度考虑,如果某数据能满足其应用要求,那么它就是高质量的。但是当今现实世界的数据库极易受噪声、缺失值和不一致数据的侵扰,这种低质量的数据将导致低2
北京大学信息管理系 数据挖掘导论 第二章数据准备 2 第二章 数据准备 2.1 数据类型 数据的区分方法有很多,按照数据基本性质划分,可分为标称(nominal)、序数(ordinal)、 区间(interval)和比率(ratio);按照可能取值的个数判断,可分为离散(discrete)和连续 (continuous)。 2.1.1 离散型数据 离散型数据具有有限或无限可数个值,例如顾客的唯一标识号 customer_ID 是无限可数 的,因为顾客的数量可以无限增长(虽然事实上实际值的集合是可数的);而一个国家的邮 政编码是有限个值。一般来说,离散型数据可对应数据的标称属性和序数属性。 标称属性:是一些符号或事物的名称,每个值代表某种类别、编码或状态,并且不 必具有有意义的序。因此标称属性又被看做是分类的,它只提供足够的信息来区分 对象。例如头发颜色 hair_color 的可能值为黑色、棕色、黄色、红色、白色;职业 occupation 的可能值为教师、医生、警察等。标称属性除了可以用文字来表示,还 可以用数字,例如刚才的 hair_color 属性,我们可以用 0 代表白色,1 代表黑色; 代表顾客唯一标示的 customer_ID 的取值可能也都是数字,但这些数字并没有数学 上的运算意义。 二元属性是一种特殊的标称属性,只有两个类别或状态:一般可以用 0 或 1 表示, 0 代表不具备该属性,1 表示具有该属性。一个二元属性如果是对称的,说明它的 两种状态具有同等价值,即哪个结果应该用 0 或 1 并无偏好,例如代表性别 gender 的男、女属性;如果是非对称的,说明不同状态的结果不是同等重要,例如艾滋病 病毒化验的阳性和阴性结果,我们一般更注重于化验结果为阳性的人群(即稀有结 果的出现),因此一般用 1 来表示相对重要的结果,0 表示另一个。 序数属性:同标称属性一样都是将数据进行分类,但它的取值之间具有有意义的序。 例如成绩 grade 的取值可能为优、良、可、差;教师职称 professional_rank 可分为 教授、副教授、讲师、助教。这些值可以提供足够的信息确定对象的序,但两种序 之间的差并不能定量计算。 2.1.2 连续型数据 连续型数据的经典定义是取实数值的属性,如温度、高度或重量等,通常连续型数据用 浮点变量表示。但是在实践中,连续型数据通常既包括比率属性,也包括区间属性。 比率属性:是具有固有零点的数值属性,例如年龄、绝对温度、长度、工作年限等。 对于这些数据来说,差和倍数都是有意义的。 区间属性:没有绝对的零点,例如摄氏温度中 0℃不表示没有温度,因此我们虽然 可以计算温度值之差,但不嫩说一个温度值是另一个的倍数。类似地,日历日期也 没有绝对的零点,因为 0 年并不对应于时间的开始。 2.2 数据预处理 2.2.1 数据预处理的原因 数据预处理的目的是提高数据挖掘的质量,以及降低实际挖掘所需要的时间。数据质量 问题可以从应用的角度考虑,如果某数据能满足其应用要求,那么它就是高质量的。但是当 今现实世界的数据库极易受噪声、缺失值和不一致数据的侵扰,这种低质量的数据将导致低
北京大学信息管理系数据挖掘导论第二章数据准备质量的挖掘结果。数据质量涉及许多因素,包括准确性、完整性、一致性、时效性、可信性和可解释性。例2.1数据质量。假设你是某超市的经理,负责分析某部门的销售数据。当你仔细研究并审查公司的数据库和数据仓库时,发现许多元组在一些属性上没有值,有的虽然有值,但不符合常理或直接使用的系统默认值(比如用户不希望填写自已真实的出生年月时,会选择系统默认的“1月1日”)。这种情况说明了现实数据很难满足的三个要素一一准确性、完整性和一致性。不正确的数据可能因为收集数据的设备出了问题,人在输入数据时出现错误,数据传输故障以及输入字段格式不一致(如日期的格式)等原因引起。不完整数据的出现可能有更多原因,例如顾客认为某些选项可填可不填而造成有些感兴趣的属性缺少属性值,或数据库中仅包含聚集数据等。想象这样一种情景,你企图监控每个销售代理的月销售量,但发现有些销售代理并未在月底及时提交相关记录,从而影响了数据质量,这种情况说明了数据时效的重要性。反映用户信赖程度的可信性对于数据质量也非常重要,假设当你发现数据库中出现错误之前就已经将该数据传给了销售部门的用户,即便之后这些错误被改正,但用户也很可能不再相信该数据。此外,反映数据是否容易理解的可解释性也是数据质量的一大影响因素。假设该超市的数据中使用了很多会计专有名词,销售部门对这方面的专业知识并不了解,从而不知道如何对它们进行解释和分析,于是对于销售部门的用户来说,它仍然是一个低质量的数据。2.2.2数据预处理的主要步骤数据预处理的步骤主要包括数据清理、数据集成、数据变换和数据归约,这些步骤相互之间并不完全独立。图2-1概括了每个步骤可能遇到的问题以及相对应的解决方法,详细内容见2.3节至2.6节。3
北京大学信息管理系 数据挖掘导论 第二章数据准备 3 质量的挖掘结果。 数据质量涉及许多因素,包括准确性、完整性、一致性、时效性、可信性和可解释性。 例 2.1 数据质量。假设你是某超市的经理,负责分析某部门的销售数据。当你仔细研究 并审查公司的数据库和数据仓库时,发现许多元组在一些属性上没有值,有的虽然有值,但 不符合常理或直接使用的系统默认值(比如用户不希望填写自己真实的出生年月时,会选择 系统默认的“1 月 1 日”)。这种情况说明了现实数据很难满足的三个要素——准确性、完整 性和一致性。不正确的数据可能因为收集数据的设备出了问题,人在输入数据时出现错误, 数据传输故障以及输入字段格式不一致(如日期的格式)等原因引起。不完整数据的出现可 能有更多原因,例如顾客认为某些选项可填可不填而造成有些感兴趣的属性缺少属性值,或 数据库中仅包含聚集数据等。 想象这样一种情景,你企图监控每个销售代理的月销售量,但发现有些销售代理并未在 月底及时提交相关记录,从而影响了数据质量,这种情况说明了数据时效的重要性。反映用 户信赖程度的可信性对于数据质量也非常重要,假设当你发现数据库中出现错误之前就已经 将该数据传给了销售部门的用户,即便之后这些错误被改正,但用户也很可能不再相信该数 据。此外,反映数据是否容易理解的可解释性也是数据质量的一大影响因素。假设该超市的 数据中使用了很多会计专有名词,销售部门对这方面的专业知识并不了解,从而不知道如何 对它们进行解释和分析,于是对于销售部门的用户来说,它仍然是一个低质量的数据。 2.2.2 数据预处理的主要步骤 数据预处理的步骤主要包括数据清理、数据集成、数据变换和数据归约,这些步骤相互 之间并不完全独立。图 2-1 概括了每个步骤可能遇到的问题以及相对应的解决方法,详细内 容见 2.3 节至 2.6 节
北京大学信息管理系数据挖掘导论第二章数据准备忽略元组人工填写全局常量填充缺失值中心度量填充数同类样本中心度量填充据清预测缺失值理分箱噪声聚类回归实体识别属性的元数据数据属性兀余相关分析集成数元组重复据预数据立方体聚集处理主成分分析维归约数据属性子集选择归约直方图数量归约聚类抽样数据压缩最小-最大规范化规范化z分数规范化数据变换小数定标规范化离散化与概念分层图 2-1数据预处理的步骤、问题和方法4
北京大学信息管理系 数据挖掘导论 第二章数据准备 4 图 2-1 数据预处理的步骤、问题和方法 数 据 预 处 理 数 据 清 理 缺失值 忽略元组 人工填写 全局常量填充 中心度量填充 同类样本中心度量填充 预测缺失值 噪声 分箱 聚类 回归 数据 集成 实体识别 属性的元数据 属性冗余 相关分析 元组重复 数据 归约 数据立方体聚集 维归约 主成分分析 属性子集选择 数量归约 直方图 聚类 抽样 数据压缩 数据 变换 规范化 最小-最大规范化 z分数规范化 小数定标规范化 离散化与概念分层