数据挖掘CHAPTER1引言.docx
- 文档编号:10772873
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:36
- 大小:134.46KB
数据挖掘CHAPTER1引言.docx
《数据挖掘CHAPTER1引言.docx》由会员分享,可在线阅读,更多相关《数据挖掘CHAPTER1引言.docx(36页珍藏版)》请在冰豆网上搜索。
数据挖掘CHAPTER1引言
第一章引言
本书是一个导论,介绍什么是数据挖掘,什么是数据库中知识发现。
书中的材料从数据库角度提供,特别强调发现隐藏在大型数据集中有趣数据模式的数据挖掘基本概念和技术。
所讨论的实现方法主要面向可规模化的、有效的数据挖掘工具开发。
本章,你将学习数据挖掘如何成为数据库技术自然进化的一部分,为什么数据挖掘是重要的,以及如何定义数据挖掘。
你将学习数据挖掘系统的一般结构,并考察挖掘的数据种类,可以发现的数据类型,以及什么样的模式提供有用的知识。
除学习数据挖掘系统的分类之外,你将看到建立未来的数据挖掘工具所面临的挑战性问题。
1.1什么激发数据挖掘?
为什么它是重要的?
需要是发明之母。
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。
获取的信息和知识可以广泛用于各种应用,包括商务管理、生产控制、市场分析、工程设计和科学探索等。
数据挖掘是信息技术自然进化的结果。
进化过程的见证是数据库工业界开发以下功能(图1.1):
数据收集和数据库创建,数据管理(包括数据存储和提取,数据库事务处理),以及数据分析与理解(涉及数据仓库和数据挖掘)。
例如,数据收集和数据库创建机制的早期开发已成为稍后数据存储和提取、查询和事务处理有效机制开发的必备基础。
随着提供查询和事务处理的大量数据库系统广泛付诸实践,数据分析和理解自然成为下一个目标。
自60年代以来,数据库和信息技术已经系统地从原始的文件处理进化到复杂的、功能强大的数据库系统。
自70年代以来,数据库系统的研究和开发已经从层次和网状数据库发展到开发关系数据库系统(数据存放在关系表结构中;见1.3.1小节)、数据建模工具、索引和数据组织技术。
此外,用户通过查询语言、用户界面、优化的查询处理和事务管理,可以方便、灵活地访问数据。
联机事务处理(OLTP)将查询看作只读事务,对于关系技术的发展和广泛地将关系技术作为大量数据的有效存储、提取和管理的主要工具作出了重要贡献。
自80年代中期以来,数据库技术的特点是广泛接受关系技术,研究和开发新的、功能强大的数据库系统。
这些使用了先进的数据模型,如扩充关系、面向对象、对象-关系和演绎模型。
包括空间的、时间的、多媒体的、主动的和科学的数据库、知识库、办公信息库在内的面向应用的数据库系统百花齐放。
涉及分布性、多样性和数据共享问题被广泛研究。
异种数据库和基于Internet的全球信息系统,如WWW也已出现,并成为信息工业的生力军。
在过去的三十年中,计算机硬件稳定的、令人吃惊的进步导致了功能强大的计算机、数据收集设备和存储介质的大量供应。
这些技术大大推动了数据库和信息产业的发展,使得大量数据库和信息存储用于事务管理、信息提取和数据分析。
现在,数据可以存放在不同类型的数据库中。
最近出现的一种数据库结构是数据仓库(1.3.2小节)。
这是一种多个异种数据源在单个站点以统一的模式组织的存储,以支持管理决策。
数据仓库技术包括数据清理、数据集成和联机分析处理(OLAP)。
OLAP是一种分析技术,具有汇总、合并和聚集功能,以及从不同的角度观察信息的能力。
尽管OLAP工具支持多维分析和决策,对于深层次的分析,如数据分类、聚类和数据随时间变化的特征,仍然需要其它分析工具。
图1.1:
数据库技术的进化
数据丰富,伴随着对强有力的数据分析工具的需求,被描述为“数据丰富,但信息贫乏”。
快速增长的海量数据收集、存放在大型和大量数据库中,没有强有力的工具,理解它们已经远远超出了人的能力(图1.2)。
结果,收集在大型数据库中的数据变成了“数据坟墓”——难得再访问的数据档案。
这样,重要的决定常常不是基于数据库中信息丰富的数据,而是基于决策者的直观,因为决策者缺乏从海量数据中提取有价值知识的工具。
此外,考虑当前的专家系统技术。
通常,这种系统依赖用户或领域专家人工地将知识输入知识库。
不幸的是,这一过程常常有偏差和错误,并且耗时、费用高。
数据挖掘工具进行数据分析,可以发现重要的数据模式,对商务决策、知识库、科学和医学研究作出了巨大贡献。
数据和信息之间的鸿沟要求系统地开发数据挖掘工具,将数据坟墓转换成知识“金块”。
图1.2我们数据丰富,知识贫乏
1.2什么是数据挖掘?
简单地说,数据挖掘是从大量数据中提取或“挖掘”知识。
该术语实际上有点用词不当。
注意,从矿石或砂子挖掘黄金称作黄金挖掘,而不是砂石挖掘。
这样,数据挖掘应当更正确地命名为“从数据中挖掘知识”,不幸的是它有点长。
“知识挖掘”是一个短术语,可能不能强调从大量数据中挖掘。
毕竟,挖掘是一个很生动的术语,它抓住了从大量的、未加工的材料中发现少量金块这一过程的特点(图1.3)。
这样,这种用词不当携带了“数据”和“挖掘”,成了流行的选择。
还有一些术语,具有和数据挖掘类似,但稍有不同的含义,如数据库中知识挖掘、知识提取、数据/模式分析、数据考古和数据捕捞。
图1.3数据挖掘:
在你的数据中搜索知识(有趣的模式)
许多人把数据挖掘视为另一个常用的术语“数据库中知识发现”或KDD的同义词。
而另一些人只是把数据挖掘视为数据库中知识发现过程的一个基本步骤。
知识发现过程如图1.4所示,由以下步骤组成:
1.数据清理(消除噪音或不一致数据)
2.数据集成(多种数据源可以组合在一起)
3.数据选择(从数据库中提取与分析任务相关的数据)
4.数据变换(数据变换或统一成适合挖掘的形式;如,通过汇总或聚集操作)
5.数据挖掘(基本步骤,使用智能方法提取数据模式)
6.模式评估(根据某种兴趣度度量,识别提供知识的真正有趣的模式;1.5节)
7.知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)。
图1.4:
数据挖掘视为知识发现过程的一个步骤
数据挖掘步骤可以与用户或知识库交互。
有趣的模式提供给用户,或作为新的知识存放在知识库中。
注意,根据这种观点,数据挖掘只是整个过程中的一步,尽管是最重要的一步,因为它发现隐藏的模式。
我们同意数据挖掘是知识发现过程的一个步骤。
然而,在工业界、媒体和数据库研究界,“数据挖掘”比较长的术语“数据库中知识发现”更流行。
因此,在本书中,我们选用术语数据挖掘。
我们采用数据挖掘的广义观点:
数据挖掘是从存放在数据库、数据仓库或其它信息库中的大量数据挖掘有趣知识的过程。
基于这种观点,典型的数据挖掘系统具有以下主要成分(图1.5):
⏹数据库、数据仓库、或其它信息库:
这是一个或一组数据库、数据仓库、展开的表、或其它类型的信息库。
可以在数据上进行数据清理和集成。
⏹数据库或数据仓库服务器:
根据用户的数据挖掘请求,数据库或数据仓库服务器负责提取相关数据。
⏹知识库:
这是领域知识,用于指导搜索,或评估结果模式的兴趣度。
这种知识可能包括概念分层,用于将属性或属性值组织成不同的抽象层。
用户确信方面的知识也可以包含在内。
可以使用这种知识,根据非期望性评估模式的兴趣度。
领域知识的其它例子有兴趣度限制或阈值和元数据(例如,描述来自多个异种数据源的数据)。
⏹数据挖掘引擎:
这是数据挖掘系统基本的部分,由一组功能模块组成,用于特征、关联、分类、聚类分析、演变和偏差分析。
⏹模式评估模块:
通常,该部分使用兴趣度度量(1.5节),并与挖掘模块交互,以便将搜索聚焦在有趣的模式上。
它可能使用兴趣度阈值过滤发现的模式。
模式评估模块也可以与挖掘模块集成在一起,这依赖于所用的数据挖掘方法的实现。
对于有效的数据挖掘,建议尽可能地将模式评估推进到挖掘过程之中,以便将搜索限制在有兴趣的模式上。
⏹图形用户界面:
该模块在用户和挖掘系统之间通讯,允许用户与系统交互,指定数据挖掘查询或任务,提供信息、帮助搜索聚焦,根据数据挖掘的中间结果进行探索式数据挖掘。
此外,该成分还允许用户浏览数据库和数据仓库模式或数据结构,评估挖掘的模式,以不同的形式对模式可视化。
图1.5:
典型的数据挖掘系统结构
从数据仓库观点,数据挖掘可以看作联机分析处理(OLAP)的高级阶段。
然而,通过结合更高级的数据理解技术,数据挖掘比数据仓库的汇总型分析处理走得更远。
尽管市场上已有许多“数据挖掘系统”,但是并非所有的都能进行真正的数据挖掘。
不能处理大量数据的数据分析系统,最多称作机器学习系统、统计数据分析工具或实验系统原型。
一个系统只能够进行数据或信息提取,包括在大型数据库找出聚集值或回答演绎查询,应当归类为数据库系统,或信息提取系统,或演绎数据库系统。
数据挖掘涉及多学科技术的集成,包括数据库技术、统计、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息提取、图象与信号处理和空间数据分析。
在本书讨论数据挖掘时,我们采用数据库观点。
即,着重强调大型数据库中有效的和可规模化的数据挖掘技术。
一个算法是可规模化的,如果给定内存和磁盘空间等可利用的系统资源,其运行时间应当随数据库大小线性增加。
通过数据挖掘,可以从数据库提取有趣的知识、规律、或高层信息,并可以从不同角度观察或浏览。
发现的知识可以用于决策、过程控制、信息管理、查询处理、等等。
因此,数据挖掘被信息产业界认为是数据库系统最重要的前沿之一,是信息产业最有前途的交叉学科。
1.3数据挖掘——在何种数据上进行?
本节,我们考察可以进行挖掘的各种数据存储。
原则上讲,数据挖掘可以在任何类型的信息存储上进行。
这包括关系数据库、数据仓库、事务数据库、先进的数据库系统、展平的文件和WWW。
先进的数据库系统包括面向对象和对象-关系数据库;面向特殊应用的数据库,如空间数据库、时间序列数据库、文本数据库和多媒体数据库。
挖掘的挑战和技术可能因存储系统而异。
尽管本书假定读者具有信息系统的基本知识,我们还是对以上提到的主要数据存储系统做简要介绍。
本节,我们还介绍编造的AllElectronics商店,它在本书各处用来解释概念。
1.3.1关系数据库
数据库系统,也称数据库管理系统(DBMS),由一组内部相关的数据,称作数据库,和一组管理和存取数据的软件程序组成。
软件程序涉及如下机制:
数据库结构定义,数据存储,并行、共享或分布的数据访问,面对系统瘫痪或未授权的访问,确保数据的一致性和安全性。
关系数据库是表的集合,每个表都赋予一个唯一的名字。
每个表包含一组属性(列或字段),并通常存放大量元组(记录或行)。
关系中的每个元组代表一个被唯一关键字标识的对象,并被一组属性值描述。
语义数据模型,如实体-联系(ER)数据模型,将数据库作为一组实体和它们之间的联系进行建模。
通常为关系数据库构造ER模型。
考虑下面的例子。
例1.1AllElectronics公司由下列关系表描述:
customer,item,employee和branch。
这些表的片段在图1.6中给出。
⏹关系customer由一组属性,包括顾客的唯一标识号(cust_ID),顾客的姓名、地址、年龄、职业、年收入、信誉信息、分类等。
customer
cast_ID
name
address
age
income
credit_info
...
C1
...
...
Smith,Sandy
...
...
4563E.Hastings,Burnaby,
BC,V5A4S9,Canada
...
21
...
...
$27000
...
...
1
...
...
...
...
...
items
item_ID
name
brand
category
type
price
place_made
supplier
cost
13
18
...
high_resTV
mutidiscCDplay
Toshiba
Sanyo
...
highresolution
mutidisc
...
TV
CDplayer
...
$988.00
$369.00
...
Japan
Japan
...
NikoX
MusicFront
...
$600.00
$120.00
...
employee
empl_ID
name
category
group
salary
commission
E35
...
Jones,Jane
...
homeentertainment
...
manager
...
$18,000
...
2%
..
branch
branch_ID
name
address
B1
...
CitySquare
...
369CambieSt.,Vancouver,BCV5L3A2,Canada
...
purchases
trans_ID
cast_ID
empl_ID
date
time
method_paid
amount
T100
...
C1
...
E55
...
09/21/98
...
15:
45
...
Visa
...
$1357.00
items_sold
trans_ID
item_ID
qty
T100
T100
...
13
18
...
1
2
...
works_at
empl_ID
brabch_ID
E55
...
B1
...
图1.6:
AllElectronics关系数据库的关系片段
⏹类似地,关系employee,branch和item的每一个都包含一组属性,描述它们的性质。
⏹表也用于表示多个关系表之间的联系。
对于我们的例子,包括purchase(顾客购买商品,创建一个由雇员处理的销售事务)和work_at(雇员在的一个分店工作)。
关系数据可以通过数据库查询访问。
数据库查询使用如SQL这样的关系查询语言,或借助于图形用户界面书写。
在后者,用户可以使用菜单指定包含在查询中的属性和属性上的限制。
一个给定的查询被转换成一系列关系操作,如连接、选择和投影,并被优化,以便有效地处理。
查询可以提取数据的一个指定的子集。
假定你的工作是分析AllElectronics的数据。
通过使用关系查询,你可以提这样的问题:
“显式一个上个季度销售的商品的列表”。
关系查询语言也可以包含聚集函数,如sum,avg(平均),count,max(最大)和min(最小)。
这些使得你可以问“给我显式上个月的总销售,按分店分组”,或“多少销售事务出现在12月份?
”,或“哪一位销售人员的销售额最高?
”。
当数据挖掘用于关系数据库时,你可以进一步搜索趋势或数据模式。
例如,数据挖掘系统可以分析顾客数据,根据顾客的收入、年龄和以前的信誉信息预测新顾客的信誉风险。
数据挖掘系统也可以检测偏差,如,与以前的年份相比,哪种商品的销售出人预料。
这种偏差可以进一步考察(例如,包装是否有变化,或价格是否大幅度提高?
)。
关系数据库是数据挖掘的最流行的、最丰富的数据源,因此它是我们数据挖掘研究的主要数据形式。
1.3.2数据仓库
假定AllElectronics是一个成功的跨国公司,分部遍及世界。
每个分部有自己的一组数据库。
AllElectronics的总裁要你提供公司第三季度每种商品、每个分部的销售分析。
这是一个困难的任务,特别是当相关数据散布在多个数据库,物理地存放在许多站点时。
如果AllElectronics有一个数据仓库,该任务将是容易的。
数据仓库是一个从多个数据源收集的信息存储,存放在一个一致的模式下,并通常驻留在单个站点。
数据仓库通过数据清理、数据变换、数据集成、数据装入和定期数据刷新构造。
该过程在第2、3章详细研究。
图1.7给出了AllElectronics的数据仓库的基本结构。
图1.7:
AllElectronics典型的数据仓库结构
为便于制定决策,数据仓库中的数据围绕诸如顾客、商品、供应商和活动等主题组织。
数据存储,从历史的角度(如过去的5-10年)提供信息,并且是汇总的。
例如,数据仓库不是存放每个销售事务的细节,而是存放每个商店,或(汇总到较高层次)每个销售地区每类商品的销售事务汇总。
通常,数据仓库用多维数据库结构建模。
其中,每个维对应于模式中一个或一组属性,每个单元存放聚集度量,如count或sales_amount。
数据仓库的实际物理结构可以是关系数据存储或多维数据方。
它提供数据的多维视图,并允许快速访问预计算的和汇总的数据。
例1.2AllElectronics的汇总销售数据数据方在图1.8(a)中。
该数据方有三个维:
address(城市值),time(季度值Q1,Q2,Q3,Q4)和item(商品类型值:
家庭娱乐、计算机、电话、安全)。
存放在方体的每个单元中的聚集值是sales_amount(单位:
$1000)。
例如,安全系统第一季度在Vancouver的总销售为$400,000,存放在单元
其它方体可以用于存放每个维上的聚集和,对应于使用不同的SQL分组得到的聚集值(例如,每个城市和季度,或每个季度和商品,或每单个维的总销售量)。
图1.8一个通常用于数据仓库多维数据方,(a)展示AllElectronics的汇总数据(b)展示数据方(a)上的下钻与上卷结果。
为便于观察,只给出部分单元值
你可能会问:
“我还听说过数据集市。
数据仓库和数据集市的区别是什么?
”数据仓库收集了整个组织的主题信息,因此,它是企业范围的。
另一方面,数据集市是数据仓库的一个部门子集。
它聚焦在选定的主题上,是部门范围的。
通过提供多维数据视图和汇总数据的预计算,数据仓库非常适合联机分析处理(OLAP)。
OLAP操作使用数据的领域背景知识,允许在不同的抽象层提供数据。
这些操作适合不同的用户。
OLAP操作的例子包括下钻和上卷,它们允许用户在不同的汇总级别观察数据,如图1.8(b)所示。
例如,可以对按季度汇总的销售数据下钻,观察按月汇总的数据。
类似地,可以对按城市汇总的销售数据上卷,观察按国家汇总的数据。
尽管数据仓库工具对于支持数据分析是有帮助的,但是仍需要更多的数据挖掘工具,以便进行更深入的自动分析。
数据仓库技术在第2章详细讨论。
1.3.3事务数据库
一般地,事务数据库由一个文件组成,其中每个记录代表一个事务。
通常,一个事务包含一个唯一的事务标识号(trans_ID),和一个组成事务的项的列表(如,在商店购买的商品)。
事务数据库可能有一些与之相关联的附加表,包含关于销售的其它信息,如事务的日期、顾客的ID号、销售者的ID号、销售分店,等等。
例1.3事务可以存放在表中,每个事务一个记录。
AllElectronics的事务数据库的片段在图1.9中给出。
从关系数据库的观点,图1.9的销售表是一个嵌套的关系,因为属性”listofitem_ID”包含item的集合。
由于大部分关系数据库系统不支持嵌套关系结构,事务数据库通常存放在一个类似于图1.9中的表格式的展平的文件中,或展开到类似于图1.6的items_sold表的标准关系中。
sales
trans_ID
listofitem_ID
T100
...
I1,I3,I8,I16
...
图1.9:
AllElectronics销售事务数据库的片段
作为AllElectronics数据库的分析者,你想问“显示SandySmith购买的所有商品”或“有多少事务包含商品号I3?
”。
回答这种查询可能需要扫描整个事务数据库。
假定你想更深地挖掘数据,问“哪些商品适合一块销售?
”这种“购物篮分析”使你能够将商品捆绑成组,作为一种扩大销售的策略。
例如,给定打印机与计算机经常一起销售的知识,你可以向购买选定计算机的顾客提供对一种很贵的打印机打折,希望销售更多较贵的打印机。
常规的数据提取系统不能回答上面这种查询。
然而,通过识别频繁一块销售的商品,事务数据的数据挖掘系统可以做到。
1.3.4高级数据库系统和高级数据库应用
关系数据库系统广泛地用于商务应用。
随着数据库技术的发展,各种先进的数据库系统已经出现并在开发中,以适应新的数据库应用需要。
新的数据库应用包括处理空间数据(如地图)、工程设计数据(如建筑设计、系统部件、集成电路)、超文本和多媒体数据(包括文本、图象和声音数据)、时间相关的数据(如历史数据或股票交换数据)和万维网(Internet使得巨大的、广泛分布的信息存储可以利用)。
这些应用需要有效的数据结构和可规模化的方法,处理复杂的对象结构、变长记录、半结构化或无结构的数据,文本和多媒体数据,以及具有复杂结构和动态变化的数据库模式。
为响应这些需求,开发了先进的数据库系统和面向特殊应用的数据库系统。
这些包括面向对象和对象-关系数据库系统、空间数据库系统、时间和时间序列数据库系统、异种和遗产数据库系统、基于万维网的全球信息系统。
虽然这样的数据库或信息存储需要复杂的机制,以便有效地存储、提取和更新大量复杂的数据,它们也为数据挖掘提供了肥沃的土壤,提出了挑战性的研究和实现问题。
本节,我们将介绍上面列举的每种高级数据库系统。
面向对象数据库
面向对象数据库基于面向对象程序设计范例。
用一般术语,每个实体被看作一个对象。
对于AllElectronics例子,对象可以是每个雇员、顾客、商品。
涉及一个对象的数据和代码封装在一个单元中。
每个对象关联:
⏹一个变量集,它描述数据。
这对应于实体-联系和关系模型的属性。
⏹一个消息集,对象可以使用它们与其它对象,或与数据库系统的其它部分通讯。
⏹一个方法集,其中每个方法存放实现一个消息的代码。
一旦收到消息,方法就返回一个响应值。
例如,消息get_photo(employee)的方法将提取并返回给定雇员对象的照片。
共享公共特性集的对象可以归入一个对象类。
每个对象都是其对象类的实例。
对象类可以组成类/子类层次结构,使得每个类代表该类对象共有的特性。
例如,类employee可以包含变量name,address和birthdate。
假定类sales_person是employee的子类。
一个sales_person对象将继承属于其超类employee的所有变量。
此外,它还具有作为一个销售员特有的所有变量(如,commission)。
这种类继承特性有利于信息共享。
对象-关系数据库
对象-关系数据库基于对象-关系数据模型构造。
该模型通过提供处理复杂对象的丰富数据类型和对象定位,扩充关系模型。
此外,它还包含关系查询语言的特殊构造,以便管理增加的数据类型。
通过增加处理复杂数据类型、类层次结构和如上所述的对象继承,对象-关系模型扩充了基本关系模型。
对象-关系数据库在工业和应用正日趋流行。
在面向对象和对象-关系系统中的数据挖掘具有某些类似性。
与关系数据挖掘相比,需要开发新的技术,处理复杂对象结构、复杂数据类型、类和子类层次结构、特性继承以及方法和过程。
空间数据库
空间数据库包含涉及空间的信息。
这种数据库包括地理(地图)数据库、VLSI芯片设计数据库、医疗和卫星图象数据库。
空间数据可能以光栅格式提供,由n维位图或象素图构成。
例如,一个2维卫星图象可以用光栅数据表示,每个象素存放一个给定区域的降雨量。
地图也可以用向量格式提供,其中,路、桥、建筑物和湖泊可以用诸如点、线、多边形和这些形状形成的分化和网络等基本地理结构表示。
地理数据库有大量应用,包括从森林和生态规划,到提供关于电话和电缆、管道和下水系统位置在内的公共信息服务。
此外,地理数据库还用于车辆导航和分流系统。
例如,一个用于出租车的系统可以存储一个城市的地图,提供关于单行道、交通拥挤时从区域A到区域B的建议路径、饭店和医院的位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 CHAPTER1 引言