目录
1.1 数据挖掘为什么重要?
数据仓库(1.3.2 小 节):是一种数据库结构,是一种多个异种数据源在单个站点以统一的模式组织的存储,以支持管理决策。数据仓库 技术包括数据清理、数据集成和联机分析处理(OLAP)。
联机分析处理(OLAP): 是一种分析技术,具有汇总、合并 和聚集功能,以及从不同的角度观察信息的能力。尽管 OLAP 工具支持多维分析和决策,对于深层 次的分析,如数据分类、聚类和数据随时间变化的特征,仍然需要其它分析工具。
数据库技术的进化如下图:
数据挖掘工具进行数据分析,可以发现重要的数据模式,对商务决策、知识库、科学和医 学研究作出了巨大贡献。数据和信息之间的鸿沟要求系统地开发数据挖掘工具,将数据坟墓转换成 知识“金块”。
1.2 什么是数据挖掘?
数据挖掘是从大量数据中提取或“挖掘”知识
许多人把数据挖掘视为另一个常用的术语“数据库中知识发现”或 KDD 的同义词。而另一些 人只是把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程如图 1.4 所示
我们采用数据挖掘的广义观点:数据挖掘是从存放在数据库、数据仓库或其它信息库中的大量数据 挖掘有趣知识的过程。
数据挖掘涉及多学科技术的集成,包括数据库技术、统计、机器学习、高性能计算、模式识别、 神经网络、数据可视化、信息提取、图象与信号处理和空间数据分析。
着重强调大型数据库中有效的和可规模化的数据挖掘技术。一个算法是可 规模化的,如果给定内存和磁盘空间等可利用的系统资源,其运行时间应当随数据库大小线性增加。
1.3 数据挖掘-在何种数据上进行
1.3.1 关系数据库
数据库系统,也称数据库管理系统(DBMS),由一组内部相关的数据,称作数据库,和一组 管理和存取数据的软件程序组成。
关系数据库是表的集合,每个表都赋予一个唯一的名字。每个表包含一组属性(列或字段), 并通常存放大量元组(记录或行)。关系中的每个元组代表一个被唯一关键字标识的对象,并被一 组属性值描述。语义数据模型,如实体-联系(ER)数据模型,将数据库作为一组实体和它们之间 的联系进行建模。通常为关系数据库构造 ER 模型。
例 1.1 AllElectronics 公司由下列关系表描述:customer, item, employee 和 branch。这些表的片 段在图 1.6 中给出。
关系 customer 由一组属性,包括顾客的唯一标识号(cust_ID),顾客的姓名、地址、年龄、职业、 年收入、信誉信息、分类等。
关系数据可以通过数据库查询访问,。假定你的工作是分析 AllElectronics 的数据。通过使用关系查询,你可以 提这样的问题:“显式一个上个季度销售的商品的列表”。关系查询语言也可以包含聚集函数,如 sum, avg(平均),count, max(最大)和 min(最小)。这些使得你可以问“给我显式上个月的总销 售,按分店分组”,或“多少销售事务出现在 12 月份?”,或“哪一位销售人员的销售额最高?”
1.3.2 数据仓库
假定 AllElectronics 是一个成功的跨国公司,分部遍及世界。每个分部有自己的一组数据库。 AllElectronics 的总裁要你提供公司第三季度每种商品、每个分部的销售分析。这是一个困难的任务, 特别是当相关数据散布在多个数据库,物理地存放在许多站点时。 如果 AllElectronics 有一个数据仓库,该任务将是容易的。数据仓库是一个从多个数据源收集的 信息存储,存放在一个一致的模式下,并通常驻留在单个站点。数据仓库通过数据清理、数据变换、 数据集成、数据装入和定期数据刷新构造。该过程在第 2、3 章详细研究。图 1.7 给出了 AllElectronics 的数据仓库的基本结构
为便于制定决策,数据仓库中的数据围绕诸如顾客、商品、供应商和活动等主题组织。数据存 储,从历史的角度(如过去的 5-10 年)提供信息,并且是汇总的。例如,数据仓库不是存放每个销 售事务的细节,而是存放每个商店,或(汇总到较高层次)每个销售地区每类商品的销售事务汇总。 通常,数据仓库用多维数据库结构建模。其中,每个维对应于模式中一个或一组属性,每个单 元存放聚集度量,如 count 或 sales_amount。数据仓库的实际物理结构可以是关系数据存储或多维数 据方。它提供数据的多维视图,并允许快速访问预计算的和汇总的数据。
例 1.2 AllElectronics 的汇总销售数据数据方在图 1.8(a)中。该数据方有三个维:address(城市 值),time(季度值 Q1, Q2, Q3, Q4)和 item(商品类型值:家庭娱乐、计算机、电话、安全)。存 放在方体的每个单元中的聚集值是 sales_amount(单位:$1000)。例如,安全系统第一季度在 Vancouver 的总销售为$400,000,存放在单元中。其它方体可以用于存放每个 维上的聚集和,对应于使用不同的 SQL 分组得到的聚集值(例如,每个城市和季度,或每个季度和 商品,或每单个维的总销售量)。
通过提供多维数据视图和汇总数据的预计算,数据仓库非常适合联机分析处理(OLAP)。OLAP 操作使用数据的领域背景知识,允许在不同的抽象层提供数据。这些操作适合不同的用户。OLAP 操作的例子包括下钻和上卷,它们允许用户在不同的汇总级别观察数据,如图 1.8(b)所示。例如, 可以对按季度汇总的销售数据下钻,观察按月汇总的数据。类似地,可以对按城市汇总的销售数据 上卷,观察按国家汇总的数据
1.3.3 事务数据库
一般地,事务数据库由一个文件组成,其中每个记录代表一个事务。通常,一个事务包含一个 唯一的事务标识号(trans_ID),和一个组成事务的项的列表(如,在商店购买的商品)。事务数据库 可能有一些与之相关联的附加表,包含关于销售的其它信息,如事务的日期、顾客的 ID 号、销售 者的 ID 号、销售分店,等等。
例 1.3 事务可以存放在表中,每个事务一个记录。AllElectronics 的事务数据库的片段在图 1.9 中给出。从关系数据库的观点,图 1.9 的销售表是一个嵌套的关系,因为属性”list of item_ID”包含 item 的集合。由于大部分关系数据库系统不支持嵌套关系结构,事务数据库通常存放在一个类似于图 1.9 中的表格式的展平的文件中,或展开到类似于图 1.6 的 items_sold 表的标准关系中。
作为 AllElectronics 数据库的分析者,你想问“显示 Sandy Smith 购买的所有商品”或“有多少 事务包含商品号 I3?”。回答这种查询可能需要扫描整个事务数据库
假定你想更深地挖掘数据,问“哪些商品适合一块销售?”这种“购物篮分析”使你能够将商 品捆绑成组,作为一种扩大销售的策略。例如,给定打印机与计算机经常一起销售的知识,你可以 向购买选定计算机的顾客提供对一种很贵的打印机打折,希望销售更多较贵的打印机。常规的数据 提取系统不能回答上面这种查询。然而,通过识别频繁一块销售的商品,事务数据的数据挖掘系统 可以做到。
1.3.4 高级数据库系统和高级数据库应用
新的数据库应用包括处理空间数据(如地图)、工程设计数据(如建筑设计、系统部件、集成 电路)、超文本和多媒体数据(包括文本、图象和声音数据)、时间相关的数据(如历史数据或股 票交换数据)和万维网(Internet 使得巨大的、广泛分布的信息存储可以利用)。这些应用需要有效 的数据结构和可规模化的方法,处理复杂的对象结构、变长记录、半结构化或无结构的数据,文本 和多媒体数据,以及具有复杂结构和动态变化的数据库模式。
为响应这些需求,开发了先进的数据库系统和面向特殊应用的数据库系统。这些包括面向对象 和对象-关系数据库系统、空间数据库系统、时间和时间序列数据库系统、异种和遗产数据库系统、 基于万维网的全球信息系统。
面向对象数据库 面向对象数据库基于面向对象程序设计范例。用一般术语,每个实体被看作一个对象。对于 AllElectronics 例子,对象可以是每个雇员、顾客、商品。涉及一个对象的数据和代码封装在一个单 元中。每个对象关联
对象-关系数据库基于对象-关系数据模型构造。该模型通过提供处理复杂对象的丰富数据类型 和对象定位,扩充关系模型。此外,它还包含关系查询语言的特殊构造,以便管理增加的数据类型。 通过增加处理复杂数据类型、类层次结构和如上所述的对象继承,对象-关系模型扩充了基本关系模 型。对象-关系数据库在工业和应用正日趋流行。
空间数据库包含涉及空间的信息。这种数据库包括地理(地图)数据库、VLSI 芯片设计数据库、 医疗和卫星图象数据库。空间数据可能以光栅格式提供,由 n 维位图或象素图构成。例如,一个 2 维卫星图象可以用光栅数据表示,每个象素存放一个给定区域的降雨量。地图也可以用向量格式提 供,其中,路、桥、建筑物和湖泊可以用诸如点、线、多边形和这些形状形成的分化和网络等基本 地理结构表示
时间数据库和时间序列数据库都存放与时间有关的数据。时间数据库通常存放包含时间相关属 性的数据。这些属性可能涉及若干时间标签,每个都具有不同的语义。时间序列数据库存放随时间 变化的值序列,如,收集的股票交易数据。
文本数据库是包含对象文字描述的数据库。通常,这种词描述不是简单的关键词,而是长句子 或短文,如产品介绍、错误或故障报告、警告信息、汇总报告、笔记或其它文档。文本数据库可能 是高度非规格化的(如,万维网上的网页)。有些文本数据库可能是半结构化的(如 email 消息和 一些 HTML/XML 网页),而其它的可能是良结构化的(如图书馆数据库)。通常,具有很好结构 的文本数据库可以使用关系数据库系统实现。
多媒体数据库存放图象、音频和视频数据。它们用于基于图内容的提取、声音传递、录像点播、 万维网和识别口语命令的基于语音的用户界面等方面。多媒体数据库必须支持大对象,因为象视频 这样的数据对象可能需要数十亿字节的存储。还需要特殊的存储和检索技术,因为视频和音频数据 需要以稳定的、预先确定的速率实时检索,防止图象或声音间断和系统缓冲区溢出。这种数据称为 连续媒体数据。
异种数据库由一组互连的、自治的成员数据库组成。这些成员相互通讯,以便交换信息和回答 查询。一个成员数据库中的对象可能与其它成员数据库中的对象很不相同,使得很难将它们的语义 吸收进一个整体的异种数据库中。 许多企业需要遗产数据库,作为信息技术长时间开发(包括使用不同的硬件和操作系统)的结 果。遗产数据库是一组异种数据库,它将不同的数据系统组合在一起。这些数据系统如关系或对象 -关系数据库、层次数据库、网状数据库、电子表格、多媒体数据库或文件系统。遗产数据库中的异 种数据库可以通过网内或网间计算机网络连接。
万维网和与之关联的分布信息服务(如,美国在线,Yahoo!, Alta Vista, Prodigy)提供了丰富的、 世界范围的联机信息服务;这里,数据对象被链接在一起,便于交互访问。用户通过链接,从一个 对象到另一个,寻找有趣的信息。这种系统对数据挖掘提供了大量机会和挑战。例如,理解用户的 访问模式不仅能够帮助改进系统设计(通过提供高度相关的对象间的有效访问),而且还可以引导 更好的市场决策(例如,通过在频繁访问的文档上布置广告,或提供更好的顾客/用户分类和行为分 析)。在这种分布式信息环境下,捕获用户访问模式称作挖掘路径遍历模式。
1.4 数据挖掘功能——可以挖掘什么类型的模式?
由于有些模式并非对数据库中的所 有数据都成立,通常每个被发现的模式带上一个确定性或“可信性”度量。
1.4.1 概念/类描述:特征和区分
数据可以与类或概念相关联。例如,在 AllElectronics 商店,销售的商品类包括计算机和打印机, 顾客概念包括 bigSpenders 和 budgetSpenders。用汇总的、简洁的、精确的方式描述每个类和概念可 能是有用的。这种类或概念的描述称为类/概念描述。这种描述可以通过下述方法得到(1)数据特 征化,一般地汇总所研究类(通常称为目标类)的数据,或(2)数据区分,将目标类与一个或多 个比较类(通常称为对比类)进行比较,或(3)数据特征化和比较。
例1.4 数据挖掘系统应当能够产生一年之内在AllElectronics花费$1000以上的顾客汇总特征的 描述。结果可能是顾客的一般轮廓,如年龄在 40-50、有工作、有很好的信誉度。系统将允许用户 在任意维下钻,如在 occupation 下钻,以便根据他们的职业来观察这些顾客。
例 1.5 数据挖掘系统应当能够比较两组 AllElectronics 顾客,如定期(每月多于 2 次)购买计 算机产品的顾客和偶尔(即,每年少于 3 次)购买这种产品的顾客。结果描述可能是一般的比较轮 廓,如经常购买这种产品的顾客 80%在 20-40 岁之间,受过大学教育;而不经常购买这种产品的顾 客 60%或者太老,或者太年青,没有大学学位。沿着维下钻,如沿 occupation 维,或添加新的维, 如 income_level,可以帮助发现两类之间的更多区分特性
1.4.2 关联分析
“什么是关联分析?”关联分析发现关联规则,这些规则展示属性-值频繁地在给定数据集中一 起出现的条件。关联分析广泛用于购物篮或事务数据分析。
更形式地,关联规则是形如 X ⇒ Y,即”A1 ∧...∧ Am ⇒ B1 ∧...∧ Bn”的规则;其中, Ai (i∈{1,...,m}), Bj (j∈{1,...,n})是属性-值对。关联规则解释为“满足 X 中条件的数据库元组多半也满足 Y 中条件”。 例 1.6 给定 AllElectronics 关系数据库,一个数据挖掘系统可能发现如下形式的规则
age(X ,"20 − 29") ∧ income(X ,"20 − 30K") ⇒ buys(X ,"CD _ player") [support = 2%,confidence = 60%]
其中,X 是变量,代表顾客。该规则是说,所研究的 AllElectronics 顾客 2%(支持度)在 20-29 岁, 年收入 20-29K,并且在 AllElectronics 购买 CD 机。这个年龄和收入组的顾客购买 CD 机的可能性有 60%(置信度或可信性)。
1.4.3 分类和预测
分类是这样的过程,它找描述或识别数据类或概念的模型(或函数),以便能够使用模型预测类 标号未知的对象。导出模型是基于对训练数据集(即,其类标号已知的数据对象)的分析。
“如何提供导出模型?”导出模式可以用多种形式表示,如分类(IF-THEN)规则、判定树、 数学公式、或神经网络。判定树是一个类似于流程图的结构,每个结点代表一个属性值上的测试, 每个分枝代表测试的一个输出,树叶代表类或类分布。判定树容易转换成分类规则。当用于分类时, 神经网络是一组类似于神经元的处理单元,单元之间加权连接。
分类可以用来预测数据对象的类标号。然而,在某些应用中,人们可能希望预测某些遗漏的或 不知道的数据值,而不是类标号。当被预测的值是数值数据时,通常称之为预测。尽管预测可以涉 及数据值预测和类标号预测,通常预测限于值预测,并因此不同于分类。预测也包含基于可用数据 的分布趋势识别。 相关分析可能需要在分类和预测之前进行,它试图识别对于分类和预测无用的属性。这些属性 应当排除
第 7 章将详细讨论分类和预
1.4.4 聚类分析
“何为聚类分析?”与分类和预测不同,聚类分析数据对象,而不考虑已知的类标号。一般地, 训练数据中不提供类标号,因为不知道从何开始。聚类可以产生这种标号。
聚类分析形成第 8 章的主题。
1.4.5 局外者分析
数据库中可能包含一些数据对象,它们与数据的一般行为或模型不一致。这些数据对象是局外 者。大部分数据挖掘方法将局外者视为噪音或例外而丢弃。然而,在一些应用中(如,欺骗检测), 罕见的事件可能比正规出现的那些更有趣。局外者数据分析称作局外者挖掘。
例 1.9 局外者分析可以发现信用卡欺骗。通过检测一个给定帐号与正常的付费相比,付款数额 特别大来发现信用卡欺骗性使用。局外者值还可以通过购物地点和类型,或购物频率来检测。 局外者分析也在第 8 章讨论
1.4.6 演变分析
数据演变分析描述行为随时间变化的对象的规律或趋势,并对其建模。尽管这可能包括时间相 关数据的特征、区分、关联、分类或聚类,这类分析的不同特点包括时间序列数据分析、序列或周 期模式匹配和基于类似性的数据分析
数据演变分析将在第 9 章进一步讨论。
1.5 所有模式都是有趣的吗?
对于给定的用户,在可能 产生的模式中,只有一小部分是他感兴趣的。
这对数据挖掘系统提出了一系列的问题。你可能会想:“什么样的模式是有趣的?数据挖掘系 统能够产生所有有趣的模式吗?数据挖掘系统能够仅产生有趣的模式吗?” 对于第一个问题,一个模式是有趣的,如果(1)它易于被人理解,(2)在某种程度上,对于 新的或测试数据是有效的,(3)是潜在有用的,(4)是新颖的。如果一个模式符合用户确信的某 种假设,它也是有趣的。有趣的模式表示知识。
存在一些模式兴趣度的客观度量。这些基于所发现模式的结构和关于它们的统计。对于形如 X⇒Y 的关联规则,一种客观度量是规则的支持度。规则的支持度表示满足规则的样本百分比。支持 度是概率 P (X ∪ Y ),其中,X ∪ Y 表示同时包含 X 和 Y 的事务;即,项集 X 和 Y 的并。关联规则 的另一种客观度量是置信度。置信度是条件概率 P (Y | X);即,包含 X 的事务也包含 Y 的概率。更 形式地,支持度和置信度定义为
support (X ⇒ Y ) = P (X ∪ Y )
confidence (X ⇒ Y ) = P (Y | X)
一般地,每个兴趣度度量都与一个阈值相关联,该阈值可以由用户控制。例如,不满足置信度 阈值 50%的规则可以认为是无趣的。低于阈值的规则可能反映噪音、例外,或少数情况,可能不太 有价值。
1.6 数据挖掘系统的分类
数据挖掘是一个交叉科学领域,受多个学科影响(见图 1.11),包括数据库系统、统计、机器 学习、可视化和信息科学。此外,依赖于所用的数据挖掘方法,可以使用其它学科的技术,如神经 网络、模糊/粗糙集理论、知识表示、归纳逻辑程序设计、或高性能计算。依赖于所挖掘的数据类型 或给定的数据挖掘应用,数据挖掘系统也可能集成空间数据分析、信息提取、模式识别、图象分析、 信号处理、计算机图形学、Web 技术、经济、或心理学领域的技术。
根据挖掘的数据库类型分类
根据挖掘的知识类型分类
根据所用的技术分类
根据应用分类
1.7 数据挖掘的主要问题
本书强调数据挖掘的主要问题,考虑挖掘技术、用户界面、性能和各种数据类型。
数据挖掘技术和用户界面问题:这反映所挖掘的知识类型、在多粒度上挖掘知识的能力、领域 知识的使用、特定的挖掘和知识显示。
性能问题:这包括数据挖掘算法的有效性、可规模性和并行处理。
等等
1.8 总结
数据库技术已经从原始的数据处理,发展到开发具有查询和事务处理能力的数据库管理系统。 进一步的发展导致越来越需要有效的数据分析和数据理解工具。这种需求是各种应用收集的数 据爆炸性增长的必然结果;这些应用包括商务和管理、行政管理、科学和工程、环境控制。
数据挖掘是从大量数据中发现有趣模式,这些数据可以存放在数据库、数据仓库或其它信息存 储中。这是一个年青的跨学科领域,源于诸如数据库系统、数据仓库、统计、机器学习、数据 可视频化、信息提取和高性能计算。其它有贡献的领域包括神经网络、模式识别、空间数据分 析、图象数据库、信号处理和一些应用领域,包括商务、经济和生物信息学。
知识发现过程包括数据清理、数据集成、数据变换、数据挖掘、模式评估和知识表示。
数据模式可以从不同类型的数据库挖掘;如关系数据库,数据仓库,事务的、对象-关系的和面 向对象的数据库。有趣的数据模式也可以从其它类型的信息存储中提取,包括空间的、时间相 关的、文本的、多媒体的和遗产数据库,以及万维网。
数据仓库是一种数据的长期存储,这些数据来自多数据源,是有组织的,以便支持管理决策。 这些数据在一种一致的模式下存放,并且通常是汇总的。数据仓库提供一些数据分析能力,称 作 OLAP(联机分析处理)。
数据挖掘功能包括发现概念/类描述、关联、分类、预测、聚类、趋势分析、偏差分析和类似性 分析。特征和区分是数据汇总的形式。 模式提供知识,如果它易于被人理解、在某种程度上对于测试数据是有效的、潜在有用的、新 颖的,或者它验证了用户关注的某种预感。模式兴趣度度量,无论是客观的还是主观的,都可 以用来指导发现过程。
数据挖掘系统可以根据所挖掘的数据库类型、所挖掘的知识类型、或所使用的技术加以分类。
大型数据库中有效的数据挖掘对于研究者和开发者提出了大量需求和巨大的挑战。问题涉及数 据挖掘技术、用户交互、性能和可规模性、以及大量不同数据类型的处理。其它问题包括数据 挖掘的应用开发和它们的社会影响。