北京大学信息管理系《数据挖掘导论》讲义第一章绪论北京大学信息管理系2016年秋
北京大学信息管理系 《数据挖掘导论》讲义 第一章 绪论 北京大学信息管理系 2016 年秋
北京大学信息管理系数据挖掘导论第一章绪论目录第一章绪论1.1什么是数据挖掘.21.2数据挖掘的步骤1.3数据挖掘的主要功能41.3.1预测性..21.3.2描述性...51.4在何种数据上进行数据挖掘1.4.1数据库数据1.4.2数据仓库..81.4.3事务数据....81.5数据挖掘的工具.81.6数据挖掘研究的主要方向,.91.6.1数据挖掘的方法...91.6.2用户交互技术..91.6.3数据挖掘的性能和可扩展性.91.6.4针对不同数据或数据源的数据挖掘技术..91.7数据挖掘的应用领域.101.8SPSSModeler软件使用概述,.101.8.1软件简介,10...121.8.2软件窗口...1.8.3数据流的基本操作...13参考文献,141
北京大学信息管理系 数据挖掘导论 第一章绪论 1 目录 第一章 绪论. 2 1.1 什么是数据挖掘. 2 1.2 数据挖掘的步骤. 2 1.3 数据挖掘的主要功能. 4 1.3.1 预测性.4 1.3.2 描述性.5 1.4 在何种数据上进行数据挖掘. 7 1.4.1 数据库数据.7 1.4.2 数据仓库.8 1.4.3 事务数据.8 1.5 数据挖掘的工具. 8 1.6 数据挖掘研究的主要方向. 9 1.6.1 数据挖掘的方法.9 1.6.2 用户交互技术.9 1.6.3 数据挖掘的性能和可扩展性.9 1.6.4 针对不同数据或数据源的数据挖掘技术 .9 1.7 数据挖掘的应用领域. 10 1.8 SPSS Modeler 软件使用概述. 10 1.8.1 软件简介.10 1.8.2 软件窗口.12 1.8.3 数据流的基本操作.13 参考文献. 14
北京大学信息管理系数据挖掘导论第一章绪论第一章绪论1.1什么是数据挖掘数据挖掘涉及多学科领域,根据内容侧重点的不同,其可以用多种方法定义,也因此据有多个术语名称,例如:数据挖掘(datamining)数据库中的知识发现(KDD,knowledgediscoveryindatabases)知识抽取(knowledgeextraction)信息发现(informationdiscovery)智能数据分析(intelligentdataanalysis)探索式数据分析(exploratorydataanalysis)信息收获(informationharvesting)数据考古(dataarcheology)等。简单来说,数据挖掘是从大量数据中提取或发现(挖掘)知识的过程。许多人将数据挖掘视为数据库中知识发现(Knowledgediscoveryindatabase,KDD)的同义词,或KDD过程中不可缺少的一部分。所谓知识发现,是指从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程。下面将对以上定义进行更详细的解释:数据集:一组事实F,如关系数据库中的记录;·模式:一个用语言L表示的一个表达式E,它可以用来描述数据集F的一个子集FE,E作为一个模式要求它比对数据子集Fe的枚举要简单(所用的描述信息量要少)。如y-f(x)就是一个一元线性函数模式;过程:KDD是一个多阶段的过程,需要多阶段的处理,涉及数据准备、模式搜索、知识评价以及反复的修改求精;?非平凡:有一定的智能性和自动性,例如仅仅计算数据总和或平均值都不能算做一个发现过程;有效性:所发现的模式对新的数据仍保持一定的可信度;-新颖性:所发现的模式应该是新的、用户未知的或未预料到的:潜在有用性:所发现的模式将来有实际的效用,例如用户可根据发现的模式进行商业决.策从而产生一定的经济效益:最终可理解性:要求所发现的模式容易被用户理解。·1.2数据挖掘的步骤上节提到,许多人把数据挖掘(准确的说是数据挖掘的算法)视为知识发现过程的一个基本步骤,而知识发现是将未加工的数据转换为有用信息的整个过程,其粗略过程如图1-1所示。该过程包括三个转换步骤,从数据准备到数据挖掘结果的解释与评估。2
北京大学信息管理系 数据挖掘导论 第一章绪论 2 第一章 绪论 1.1 什么是数据挖掘 数据挖掘涉及多学科领域,根据内容侧重点的不同,其可以用多种方法定义,也因此据 有多个术语名称,例如: 数据挖掘(data mining) 数据库中的知识发现(KDD, knowledge discovery in databases) 知识抽取(knowledge extraction) 信息发现(information discovery) 智能数据分析(intelligent data analysis) 探索式数据分析(exploratory data analysis) 信息收获 (information harvesting) 数据考古(data archeology)等。 简单来说,数据挖掘是从大量数据中提取或发现(挖掘)知识的过程。许多人将数据挖 掘视为数据库中知识发现(Knowledge discovery in database, KDD)的同义词,或 KDD 过程 中不可缺少的一部分。 所谓知识发现,是指从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解 的模式的非平凡过程。下面将对以上定义进行更详细的解释: 数据集:一组事实 F,如关系数据库中的记录; 模式:一个用语言 L 表示的一个表达式 E,它可以用来描述数据集 F 的一个子集 FE , E 作为一个模式要求它比对数据子集 FE 的枚举要简单(所用的描述信息量要少)。如 y=f(x)就是一个一元线性函数模式; 过程:KDD 是一个多阶段的过程,需要多阶段的处理,涉及数据准备、模式搜索、知 识评价以及反复的修改求精; 非平凡:有一定的智能性和自动性,例如仅仅计算数据总和或平均值都不能算做一个发 现过程; 有效性:所发现的模式对新的数据仍保持一定的可信度; 新颖性:所发现的模式应该是新的、用户未知的或未预料到的; 潜在有用性:所发现的模式将来有实际的效用,例如用户可根据发现的模式进行商业决 策从而产生一定的经济效益; 最终可理解性:要求所发现的模式容易被用户理解。 1.2 数据挖掘的步骤 上节提到,许多人把数据挖掘(准确的说是数据挖掘的算法)视为知识发现过程的一个 基本步骤,而知识发现是将未加工的数据转换为有用信息的整个过程,其粗略过程如图 1-1 所示。该过程包括三个转换步骤,从数据准备到数据挖掘结果的解释与评估
北京大学信息管理系数据挖掘导论第一章绪论数据挖掘结果的解释评估数据准备(interpretation and evaluation)(datamining)(data preparation)·明确任务·剔除九余·数据选择·用户知识需求·用户需求·数据预处理·可视化·选取挖掘算法·数据变换·数据归约图1-1知识发现(KDD)的过程(1)数据准备。包括数据选择、数据预处理、数据变换和数据归约等。其中,数据选择是指从数据库中提取与待分析任务相关的数据,即目标数据;数据预处理的目的是将未加工的输入数据转换成适合分析的形式,涉及的步骤包括数据集成(融合来自多个数据源的数据)、数据清理(消除噪声并删除重复的观测值);数据变换指通过汇总或聚集操作把数据变换和统一成适合挖掘的形式(如连续数据离散化);数据归约的主要目的在于消减数据维数,根据用户需求对数据的特征进行相应的选择或抽取,从而在尽量不牺牲数据完整性的基础之上得到原始数据的较小表示。(2)数据挖掘算法的选择。在选择合适的算法之前,首先需要明确数据挖掘的任务,换而言之,用数据挖掘来解决什么问题。一般来说,数据挖掘的基本任务包括数据总结、分类、聚类、关联规则分析、序列模式发现等。其次需要考虑用户的知识需求,用户是希望得到描述性的知识(用来说明事物的性质、特征和状态以区别和辨别事物),还是预测型知识(由历史数据和当前数据产生的并能推测未来数据趋势的知识)。然后再根据具体的数据集合,选择有效的挖掘算法。(3)结果的解释评估。一般来说,并不是所有挖掘出的结果(模式)都是有用的。首先需要经用户或机器评价,剔除余或无关的模式;若模式无法满足用户需求,应重新返回某一步重新挖掘,例如重新选择数据、采用新的数据变换方法、设定新的数据挖掘参数,或者换一种挖掘算法:此外,由于挖掘的结果是面向用户的,因此应对挖掘结果进行可视化或者转化为用户易于理解的形式表示。具体来看,数据库中的知识发现过程如图1-2所示,由以下步骤的迭代序列组成:数据清理,消除噪声和删除不一致数据,可能要占全过程60%以上的工作量;.数据集成,多种数据源可组合在一起;数据选择,从数据库中提取与待分析任务相关的数据;*.数据变换,通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式:数据挖掘,基本步骤,选择适当的算法来找到感兴趣的模式:.模式评估,根据某种兴趣度度量,识别代表知识的真正有趣的模式;.知识表示,使用可视化和知识表示技术,向用户提供挖掘的知识。.以上观点把数据挖掘看作知识发现过程中的一个步骤,尽管是最重要的一个步骤,但其实在产业界、媒体和研究界,“数据挖掘”通常用来表示整个知识发现的过程。因此,我们采用广义的数据挖掘功能的观点,即前文提到的“知识发现”的定义与步骤同时也是“数据挖掘”的定义和步骤。3
北京大学信息管理系 数据挖掘导论 第一章绪论 3 (1)数据准备。 包括数据选择、数据预处理、数据变换和数据归约等。其中,数据选择是指从数据库中 提取与待分析任务相关的数据,即目标数据;数据预处理的目的是将未加工的输入数据转换 成适合分析的形式,涉及的步骤包括数据集成(融合来自多个数据源的数据)、数据清理(消 除噪声并删除重复的观测值);数据变换指通过汇总或聚集操作把数据变换和统一成适合挖 掘的形式(如连续数据离散化);数据归约的主要目的在于消减数据维数,根据用户需求对 数据的特征进行相应的选择或抽取,从而在尽量不牺牲数据完整性的基础之上得到原始数据 的较小表示。 (2)数据挖掘算法的选择。 在选择合适的算法之前,首先需要明确数据挖掘的任务,换而言之,用数据挖掘来解决 什么问题。一般来说,数据挖掘的基本任务包括数据总结、分类、聚类、关联规则分析、序 列模式发现等。其次需要考虑用户的知识需求,用户是希望得到描述性的知识(用来说明事 物的性质、特征和状态以区别和辨别事物),还是预测型知识(由历史数据和当前数据产生 的并能推测未来数据趋势的知识)。然后再根据具体的数据集合,选择有效的挖掘算法。 (3)结果的解释评估。 一般来说,并不是所有挖掘出的结果(模式)都是有用的。首先需要经用户或机器评价, 剔除冗余或无关的模式;若模式无法满足用户需求,应重新返回某一步重新挖掘,例如重新 选择数据、采用新的数据变换方法、设定新的数据挖掘参数,或者换一种挖掘算法;此外, 由于挖掘的结果是面向用户的,因此应对挖掘结果进行可视化或者转化为用户易于理解的形 式表示。 具体来看,数据库中的知识发现过程如图 1-2 所示,由以下步骤的迭代序列组成: 数据清理,消除噪声和删除不一致数据,可能要占全过程 60%以上的工作量; 数据集成,多种数据源可组合在一起; 数据选择,从数据库中提取与待分析任务相关的数据; 数据变换,通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式; 数据挖掘,基本步骤,选择适当的算法来找到感兴趣的模式; 模式评估,根据某种兴趣度度量,识别代表知识的真正有趣的模式; 知识表示,使用可视化和知识表示技术,向用户提供挖掘的知识。 以上观点把数据挖掘看作知识发现过程中的一个步骤,尽管是最重要的一个步骤,但其 实在产业界、媒体和研究界,“数据挖掘”通常用来表示整个知识发现的过程。因此,我们采 用广义的数据挖掘功能的观点,即前文提到的“知识发现”的定义与步骤同时也是“数据挖掘” 的定义和步骤。 数据准备 (data preparation) •数据选择 •数据预处理 •数据变换 •数据归约 数据挖掘 (data mining) •明确任务 •用户知识需求 •选取挖掘算法 结果的解释评估 (interpretation and evaluation) •剔除冗余 •用户需求 •可视化 图 1-1 知识发现(KDD)的过程
北京大学信息管理系数据挖掘导论第一章绪论nowiedge模式评估数据挖掘任务相关数据才个选择数据仓库--数据清理-A1........数据集成..图1-2数据库中的知识发现过程此外,需要注意的是:(1)影响数据挖掘结果质量的因素有很多,包括采用的算法、数据本身的质量与数量等;(2)数据挖掘的过程是一个不断反馈的过程。(3)可视化在数据挖掘过程的各个阶段都扮演着重要角色,如用散点图或直方图等统计可视化技术来显示有关数据,以期对数据有一个初步的了解。1.3数据挖掘的主要功能数据挖掘的主要任务大致可以分为描述性任务(descriptive)和预测性任务(predictive)。描述性任务的目标是概括数据中潜在的联系模式(包括简单汇总、关联、聚类、异常等):预测性任务是在当前数据上进行归纳和推断,以便做出预测。被预测的属性一般称为目标变量(targetvariable)或因变量(dependentvariable),而用来做预测的属性为说明变量(explanatoryvariable)或自变量(independentvariable)。1.3.1预测性预测建模任务主要包括分类(预测离散型的目标变量)和回归分析(预测连续型的目标变量)。例如,预测一个Web用户是否会在网上书店买书是分类任务,因为该目标变量是二值的,而预测某股票的未来价格则是回归任务,因为价格具有连续值属性。两项任务目标都是训练一个模型,使目标变量预测值与实际值之间的误差达到最小。预测建模可以用来确定顾客对产品促销活动的反应,预测地球生态系统的扰动,或根据检查结果判断病人是否患有某种疾病。4
北京大学信息管理系 数据挖掘导论 第一章绪论 4 此外,需要注意的是: (1)影响数据挖掘结果质量的因素有很多,包括采用的算法、数据本身的质量与数量 等; (2)数据挖掘的过程是一个不断反馈的过程。 (3)可视化在数据挖掘过程的各个阶段都扮演着重要角色,如用散点图或直方图等统 计可视化技术来显示有关数据,以期对数据有一个初步的了解。 1.3 数据挖掘的主要功能 数据挖掘的主要任务大致可以分为描述性任务(descriptive)和预测性任务(predictive)。 描述性任务的目标是概括数据中潜在的联系模式(包括简单汇总、关联、聚类、异常等); 预测性任务是在当前数据上进行归纳和推断,以便做出预测。被预测的属性一般称为目标变 量(target variable)或因变量(dependent variable),而用来做预测的属性为说明变量 (explanatory variable)或自变量(independent variable)。 1.3.1 预测性 预测建模任务主要包括分类(预测离散型的目标变量)和回归分析(预测连续型的目标 变量)。例如,预测一个 Web 用户是否会在网上书店买书是分类任务,因为该目标变量是二 值的,而预测某股票的未来价格则是回归任务,因为价格具有连续值属性。两项任务目标都 是训练一个模型,使目标变量预测值与实际值之间的误差达到最小。预测建模可以用来确定 顾客对产品促销活动的反应,预测地球生态系统的扰动,或根据检查结果判断病人是否患有 某种疾病。 图 1-2 数据库中的知识发现过程