文档库 最新最全的文档下载
当前位置:文档库 › 数据挖掘系统的设计与实现(毕业论文)

数据挖掘系统的设计与实现(毕业论文)

2010 届毕业(设计)论文

题目数据挖掘系统的设计与实现专业班级网络工程01班

学号

学生姓名

指导教师(职称)

学院名称计算机科学与工程学院完成日期: 2010 年 5月 26 日

数据挖掘系统的设计与实现Data Mining System

学生姓名

指导教师

摘要

在电信系统中,经常需要根据用户的登入登出进行计时收费,这样我们就需要根据登录日志来将用户的登入记录和登出记录按照对应关系匹配起来,形成一条完整的登录记录,登录记录中包含以下信息:用户登录名,登入时刻,登出时刻,登录时长,登录终端机器IP等。在匹配过程中,理论上一条登入记录跟一条登出记录匹配,但有可能在我们采集数据时用户还没有登出,所以日志文件中可能出现没有登出记录与之匹配的登入记录,这些登入记录我们将其保存在一个指定的文件中,在下次采集时再读取。在整个电信系统中,这些记录无疑是非常巨大的,不是依靠人力手工能够完成的,这时,我们就需要有一个具体的系统来帮我们自动完成这些功能,这也就是本次课题的选择——数据挖掘系统(Data Mining System)。在该系统中,将匹配好的用户登录记录通过网络发送到采集系统服务器,服务器端接收匹配好的用户登录记录数据,然后将接受到的用户登录记录数据保存到数据库的用户登录记录明细表中,而最终可以实现将用户登录记录明细表中的数据整合成日报表,月报表和年报表。

关键词:数据挖掘;客户端;服务器端

Abstract

In telecommunications system, often carried out time charges based on user’s login or logout, so we need to match the user's login and logout records by correspondence relationship according to the log and form a complete log records, log record contains the following information: user login name, login time, logout time, log length, log terminal machine IP and so on. In the process of matching, in theory, a login record matches with a logout record, but when we collect the data the user may not logout ,so there maybe no logout record match with the login record in the log file. We save the login records in a designated file, and read them at the next collection. In the whole telecommunications system, these records will undoubtedly be very tremendous, to rely on human hand can not be done, then we need a specific system to help us finish these functions automatic, it is the choice of this subject - - Data Mining System. In this system, send the matched user log record to the collection system server through internet, the server receives the matched user log record data, and then save the received user log record data to the database user log records list and ultimately enables the data in the user log records list integrated into daily report, monthly report and annual report.

Keywords: data mining; client; server

目录

摘要.....................................................................I Abstract....................................................................II 第一章文献综述. (1)

1.1数据挖掘发展简述 (1)

1.1.1数据丰富与知识匮乏 (1)

1.1.2从数据到知识 (2)

1.1.3数据挖掘产生 (4)

1.2数据挖掘基本知识 (5)

1.2.1数据挖掘深入 (8)

1.3数据挖掘功能 (9)

1.3.1概念描述:定性与对比 (10)

1.3.2关联分析 (10)

1.3.3分类与预测 (10)

1.3.4聚类分析 (11)

1.3.5异类分析 (11)

1.3.6演化分析 (11)

1.4数据挖掘结果的评估 (11)

1.5数据挖掘系统 (12)

1.5.1数据挖掘系统分类 (13)

1.5.2数据挖掘系统的应用 (13)

1.6数据挖掘研究重点 (17)

1.7数据挖掘课题的选择 (19)

第二章设计部分 (21)

2.1环境的选择与搭建 (21)

2.2系统需要实现的功能 (22)

2.3系统用例 (23)

2.3.1用例图 (23)

2.3.2用例描述 (24)

2.4数据库表设计 (32)

2.5总体类图 (33)

2.6异常考虑 (34)

2.7 用例实现 (36)

第三章结果与讨论 (38)

第四章结论与建议 (41)

4.1结论 (41)

4.2建议 (41)

参考文献 (42)

致谢 (43)

第一章文献综述

数据挖掘作为一个新兴的多学科交叉应用领域,正在各行各业的决策支持活动扮演着越来越重要的角色。

1.1数据挖掘发展简述

1.1.1数据丰富与知识匮乏

计算机与信息技术经历了半个世纪的发展,给人类社会带来了巨大的变化与影响。在支配人类社会三大要素(能源、材料和信息)中,信息愈来愈显示出其重要性和支配力,它将人类社会由工业化时代推向信息化时代。随着人类活动范围的扩展,生活节奏的加快,以及技术的进步,人们能以更快速更容易更廉价的方式获取和存储数据,这就使得数据及其信息量以指数方式增长。早在20世纪八十年代,据粗略估算,全球信息量每隔20个月就增加一倍。而进入九十年代,全世界所拥有的数据库及其所存储的数据规模增长更快。一个中等规模企业每天要产生100 MB 以上来自各生产经营等多方面的商业数据。美国政府部门的一个典型大数据库每天要接收约5TB数据量,在15 秒到1分钟时间里,要维持的数据量达到300 TB,存档数据达15-100 PB。在科研方面,以美国宇航局的数据库为例,每天从卫星下载的数据量就达3-4 TB之多;而为了研究的需要,这些数据要保存七年之久。九十年代互联网(Internet)的出现与发展,以及随之而来的企业内部网(Internet)和企业外部网(Extranet)以及虚拟私有网(VPN:Virtual Private network)的产生和应用,使整个世界互联形成一个小小的地球村,人们可以跨越时空地在网上交换信息和协同工作。这样,展现在人们面前的已不是局限于本部门,本单位和本行业的庞大数据库,而是浩瀚无垠的信息海洋。据统计,1993年全球数据存贮容量约为二千TB,到2000年增加到三百万TB,面对这极度膨胀的数据信息量,人们受到“信息爆炸”、“混沌信息空间”(Information Chaotic Space)和“数据过剩”(Data glut)的巨大压力。

然而,人类的各项活动都是基于人类的智慧和知识,即对外部世界的观察和了解,做出正确的判断和决策以及采取正确的行动,而数据仅仅是人们用各种工具和手段观察外部世界所得到的原始材料,它本身没有任何意义。从数据到知识到智慧,需要经过分析加工处理精炼的过程。如图1. 1所示,数据是原材料,它只是描述发生了什么事情,并不能构成决策或行动的可靠基础。通过对数据进行分析找出其中关系,赋予数据以某种意义和关联,这就形成所谓信息。信息虽给出了数据中一些有一定意义的东西,但它往往和人们需

要完成的任务没有直接的联系,也还不能作为判断、决策和行动的依据。对信息进行再加工,即进行更深入的归纳分析,方能获得更有用的信息,即知识。而所谓知识,可定义为“信息块中的一组逻辑联系,其关系是通过上下文或过程的贴近度发现的”。从信息中理解其模式,即形成知识。在大量知识积累基础上,总结出原理和法则,就形成所谓智慧(Wisdom)。事实上,一部人类文明发展史,就是在各种活动中,知识的创造、交流,再创造不断积累的螺旋式上升的历史。

图1. 1 人类活动所涉及数据与知识之间的关系描述

计算机与信息技术的发展,加速了人类知识创造与交流的这种进程,据德国《世界报》的资料分析,如果说19世纪时科学定律(包括新的化学分子式,新的物理关系和新的医学认识)的认识数量一百年增长一倍,到20世纪60年代中期以后,每五年就增加一倍。这其中知识起着关键的作用。当数据量极度增长时,如果没有有效的方法,由计算机及信息技术来帮助从中提取有用的信息和知识,人类显然就会感到像大海捞针一样束手无策。据估计,目前一个大型企业数据库中数据,约只有百分之七得到很好应用。因此目前人类陷入了一个尴尬的境地,即“丰富的数据”(data rich)而“贫乏的知识”(knowledge poor)。

1.1.2从数据到知识

早在上个世纪八十年代,人们在“物竞天择,适者生存”的大原则下,就认识到“谁最先从外部世界获得有用信息并加以利用,谁就可能成为赢家”。而今置身市场经济且面向全球性剧烈竞争的环境下,任何商家的优势不单纯地取决于如产品、服务、地区等方面因素,而在于创新。用知识作为创新的原动力,就能使商家长期持续地保持竞争优势。因此要能及时迅速地从日积月累庞大的数据库中,以及互联网上获取与经营决策相关的知识,自然而然就成为满足易变的客户需求以及因市场快速变化而引起激烈竞争局面的唯一武器。因此,如何对数据与信息快速有效地进行分析加工提炼以获取所需知识,就成为计算机及信息技术领域的重要研究课题。

事实上计算机及信息技术发展的历史,也是数据和信息加工手段不断更新和改善的历

史。早年受技术条件限制,一般用人工方法进行统计分析和用批处理程序进行汇总和提出报告。在当时市场情况下,月度和季度报告已能满足决策所需信息要求。随着数据量的增长,多数据源所带来的各种数据格式不相容性,为了便于获得决策所需信息,就有必要将整个机构内的数据以统一形式集成存储在一起,这就是形成了数据仓库(data warehousing)。数据仓库不同于管理日常工作数据的数据库,它是为了便于分析针对特定主题(subject-oriented)的集成化的、时变的(time-variant)即提供存贮5-10年或更长时间的数据,这些数据一旦存入就不再发生变化。

数据仓库的出现,为更深入对数据进行分析提供了条件,针对市场变化的加速3人们提出了能进行实时分析和产生相应报表的在线分析工具OLAP(On Line Analytical Processing)。OLAP能允许用户以交互方式浏览数据仓库内容,并对其中数据进行多维分析,且能及时地从变化和不太完整的数据中提取出与企业经营活动密切相关的信息。例如:OLAP 能对不同时期、不同地域的商业数据中变化趋势进行对比分析。

OLAP是数据分析手段的一大进步,以往的分析工具所得到的报告结果只能回答“什么”,而OLAP的分析结果能回答“为什么”。但OLAP分析过程是建立在用户对深藏在数据中的某种知识有预感和假设的前提下,由用户指导的信息分析与知识发现过程。但由于数据仓库(通常数据贮藏量以TB 计)内容来源于多个数据源,因此其中埋藏着丰富的不为用户所知的有用信息和知识,而要使企业能及时准确地做出科学的经营决策,以适应变化迅速的市场环境,就需要有基于计算机与信息技术的智能化自动工具,来帮助挖掘隐藏在数据中的各类知识。这类工具不应再基于用户假设,而应能自身生成多种假设;再用数据仓库(或大型数据库)中的数据进行检验或验证;然后返回用户最有价值的检验结果。此外这类工具还应能适应现实世界中数据的多种特性(即量大、含噪声、不完整、动态、稀疏性、异质、非线性等)。要达到上述要求,只借助于一般数学分析方法是无能达到的。多年来,数理统计技术方法以及人工智能和知识工程等领域的研究成果,诸如推理、机器学习、知识获取、模糊理论、神经网络、进化计算、模式识别、粗糙集理论等等诸多研究分支,给开发满足这类要求的数据深度分析工具提供了坚实而丰富的理论和技术基础。

上个世纪九十年代中期以来,许多软件开发商,基于数理统计、人工智能、机器学习、神经网络、进化计算和模式识别等多种技术和市场需求,开发了许多数据挖掘与知识发现软件工具,从而形成了近年来软件开发市场的热点。目前数据挖掘工具已开始向智能化整体数据分析解决方案发展,这是从数据到知识演化过程中的一个重要里程碑。如图1. 2所示。

图1. 2数据到知识的演化过程示意描述

1.1.3数据挖掘产生

随着计算机硬件和软件的飞速发展,尤其是数据库技术与应用的日益普及,人们面临着快速扩张的数据海洋,如何有效利用这一丰富数据海洋的宝藏为人类服务,业已成为广大信息技术工作者的所重点关注的焦点之一。与日趋成熟的数据管理技术与软件工具相比,人们所依赖的数据分析工具功能,却无法有效地为决策者提供其决策支持所需要的相关知识,从而形成了一种独特的现象“丰富的数据,贫乏的知识”。为有效解决这一问题,自二十世纪80年代开始,数据挖掘技术逐步发展起来,数据挖掘技术的迅速发展,得益于目前全世界所拥有的巨大数据资源以及对将这些数据资源转换为信息和知识资源的巨大

需求,对信息和知识的需求来自各行各业,从商业管理、生产控制、市场分析到工程设计、科学探索等。数据挖掘可以视为是数据管理与分析技术的自然进化产物,如错误!未找到引用源。所示。

自上个世纪六十年代开始,数据库及信息技术就逐步从基本的文件处理系统发展为更复杂功能更强大的数据库系统;七十年代的数据库系统的研究与发展,最终导致了关系数据库系统、数据建模工具、索引与数据组织技术的迅速发展,这时用户获得了更方便灵活的数据存取语言和界面;此外在线事务处理(OLTP:on-line transaction processing)手段的出现也极大地推动了关系数据库技术的应用普及,尤其是在大数据量存储、检索和管理的实际应用领域。

自上世纪八十年代中期开始,关系数据库技术被普遍采用,新一轮研究与开发新型与强大的数据库系统悄然兴起,并提出了许多先进的数据模型:扩展关系模型、面向对象模型、演绎模型等;以及应用数据库系统:空间数据库、时序数据库、多媒体数据库等;日前异构数据库系统和基于互联网的全球信息系统也已开始出现并在信息工业中开始扮演

重要角色。

图1. 3数据挖掘进化过程示意描述

被收集并存储在众多数据库中且正在快速增长的庞大数据,已远远超过人类的处理和分析理解能力(在不借助功能强大的工具情况下),这样存储在数据库中的数据就成为“数据坟墓”,即这些数据极少被访问,结果许多重要的决策不是基于这些基础数据而是依赖决策者的直觉而制定的,其中的原因很简单,这些决策的制定者没有合适的工具帮助其从数据中抽取出所需的信息知识。而数据挖掘工具可以帮助从大量数据中发现所存在的特定模式规律,从而可以为商业活动、科学探索和医学研究等诸多领域提供所必需的信息知识。数据与信息知识之间的巨大差距迫切需要系统地开发数据挖掘工具,来帮助实现将“数据坟墓”中的数据转化为知识财富。

1.2数据挖掘基本知识

数据挖掘(Data Mining,简称DM),简单地讲就是从大量数据中挖掘或抽取出知识,数据挖掘概念的定义描述有若干版本,以下给出一个被普遍采用的定义描述:数据挖掘,又称为数据库中知识发现(Knowledge Discovery from Database,简称KDD),它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。数据挖掘的全过程定义描述如图1. 4 所示。

图1. 4知识挖掘全过程示意描述

如图1. 4所示,整个知识挖掘(KDD)过程是由若干挖掘步骤组成,而数据挖掘仅是其中的一个主要步骤。整个知识挖掘的主要步骤有:

?数据清洗(data clearning),其作用就是清除数据噪声和与挖掘主题明显无关的数据;

?数据集成(data integration),其作用就是将来自多数据源中的相关数据组合到一起;

?数据转换(data transformation),其作用就是将数据转换为易于进行数据挖掘的数据存储形式;

?数据挖掘(data mining),它是知识挖掘的一个基本步骤,其作用就是利用智能方法挖掘数据模式或规律知识;

?模式评估(pattern evaluation),其作用就是根据一定评估标准(interesting measures)从挖掘结果筛选出有意义的模式知识;

?知识表示(knowledge presentation),其作用就是利用可视化和知识表达技术,向用户展示所挖掘出的相关知识。

尽管数据挖掘仅仅是整个知识挖掘过程中的一个重要步骤,但由于目前工业界、媒体、数据库研究领域中,“数据挖掘”一词已被广泛使用并被普遍接受,因此也可以广义地使用“数据挖掘”一词来表示整个知识挖掘过程,即数据挖掘就是一个从数据库、数据仓库

或其它信息资源库的大量数据中发掘出有趣的知识。

图1. 5数据挖掘系统总体结构描述

基于图1. 4 所示的数据挖掘过程,一个典型的数据挖掘系统(如图1. 5所示)主要包含以下主要部件:

?数据库、数据仓库或其它信息库,它表示数据挖掘对象是由一个(或组)数据库、数据仓库、数据表单或其它信息数据库组成。通常需要使用数据

清洗和数据集成操作,对这些数据对象进行初步的处理;

?数据库或数据仓库服务器,这类服务器负责根据用户的数据挖掘请求,读取相关的数据;

?知识库,此处存放数据挖掘所需要的领域知识,这些知识将用于指导数据挖掘的搜索过程,或者用于帮助对挖掘结果的评估。挖掘算法中所使用的用户定义的阈值就是最简单

的领域知识;

?数据挖掘引擎,这是数据挖掘系统的最基本部件,它通常包含一组挖掘功能模块,以便完成定性归纳、关联分析、分类归纳、进化计算和偏差分析等挖掘功能;

?模式评估模块,该模块可根据趣味标准(interestingness measures),协助数据挖掘模块聚焦挖掘更有意义的模式知识。当然该模块能否与数据挖掘模块有机结合,与数据挖掘模块所使用的具体挖掘算法有关。显然若数据挖掘算法能够与知识评估方法有机结合将有助提高其数据挖掘的效率;

?可视化用户界面,该模块帮助用户与数据挖掘系统本身进行沟通交流。一方面用户通过该模块将自己的挖掘要求或任务提交给挖掘系统,以及提供挖掘搜所需要的相关知识;另一方面系统通过该模块向用户展示或解释数据挖掘的结果或中间结果;此外该模块也可以帮助用户浏览数据对象内容与数据定义模式、评估所挖掘出的模式知识,以及以多种形式展示挖掘出的模式知识。

从数据仓库的角度来看,数据挖掘可以被认为是在线分析处理(OLAP)的高级阶段,但是基于多种数据理解先进技术的数据挖掘,其数据分析能力要远超过以数据汇总为主的数据仓库在线分析处理功能。

目前市场有许多所谓“数据挖掘系统”,实际上它们仅仅是一个基于统计的数据分析工具,或一个机器学习工具。数据挖掘有机结合了来自多学科技术,其中包括:数据库、数理统计、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息检索、图像与信号处理、空间数据分析等,这里我们强调数据挖掘所处理的是大规模数据,且其挖掘算法应是高效的和可扩展的。通过数据挖掘,可从数据库中挖掘出有意义的知识、规律,或更高层次的信息,并可以从多个角度对其进行浏览察看。所挖掘出的知识可以帮助进行决策支持、过程控制、信息管理、查询处理等等。因此数据挖掘被认为是数据库系统最重要的前沿研究领域之一,也是信息工业中最富有前景的数据库应用领域之一。

1.2.1数据挖掘深入

KDD就是利用机器学习的方法从数据库中提取有价值知识的过程,它是数据库技术和机器学习两个学科的交叉领域。数据库技术侧重于对数据存储处理的高效率方法的研究,而机器学习则侧重于设计新的方法从数据中提取知识。KDD利用数据库技术对数据进行前端处理,而利用机器学习方法则从处理后的数据中提取有用的知识。当然KDD与其他学科也有很强的联系,如统计学、数学和可视化技术等。

既然KDD 和机器学习都是从数据中提取知识,那么两者有什么区别呢?KDD是从现实

世界中存在的一些具体数据中提取知识,这些数据在KDD出现之前早已存在;而机器学习所使用的数据是专门为机器学习而特别准备的数据,这些数据在现实世界中也许毫无意义。由于KDD使用的数据来自于实际的数据库,而且所要处理的数据量可能很大,因此KDD 中的学习算法的效率和可扩充性就显得尤为重要;此外,KDD所处理的数据由于来自于现实世界,数据的完整性、一致性和正确性都很难保证,如何将这些数据加工成学习算法可以接收的数据?也是数据挖掘研究与开发时需要进行深入研究的问题;再者,KDD可以利用目前数据库技术所取得的研究成果来加快学习过程,提高学习的效率。最后一点就是,由于KDD 处理的数据来自于实际的数据库,而与这些数据库数据有关的还有其他一些背景知识,这些背景知识的合理运用也会提高学习算法的效率。

在日常的数据库操作中,人们经常使用的是从数据库中抽取数据以生成一定格式的报表,那么KDD与数据库报表工具有什么区别呢?数据库报表制作工具是将数据库中的某些数据抽取出来,经过一些数学运算,最终以特定的格式呈现给用户,而KDD则是对数据背后隐藏的特征和趋势进行分析,最终给出关于数据的总体特征和发展趋势。报表工具也许能够给出上学期考试未通过及成绩优秀的学生的有关情况。但它不能找出那些考试未通过及成绩优秀的学生在哪些方面有些什么不同的特征,而数据挖掘通过对相关数据的分析,以发现影响学生成绩的各种因素,就可以给出两者之间的差别。

目前出现了很多基于数据仓库的OLAP的产品,它可以对数据进行多维分析,进行数据的drill down、roll up操作。那么同样作为数据分析方法的数据挖掘与OLAP有何区别呢?OLAP是由用户驱动的,一般是由分析人员预先设定一些假设,然后使用OLAP工具去帮助验证这些假设,它提供了可使分析人员很方便地进行数据分析的手段;而数据挖掘则是通过对数据的分析来自动产生一些假设,人们可以在这些假设的基础上更有效地进行决策。

这里我们通过一个例子说明两者的区别,在进行银行信用风险调查时,如果使用OLAP,分析人员必须首先设定一些假设条件,如高负债低收入的人有信用风险,分析人员可以利用OLAP,通过对有关数据进行分析来验证或推翻这个假设,而对于使用数据挖掘来说,由其找出对银行信用风险有影响的因素,而且还可能发现按照常规思维认为不可能的一些影响因素,如年龄地区或者某些因素的某种组合。

1.3数据挖掘功能

利用数据挖掘技术可以帮助获得决策所需的多种知识。在许多情况下,用户并不知道数据存在哪些有价值的信息知识,因此对于一个数据挖掘系统而言,它应该能够同时搜索发现多种模式的知识,以满足用户的期望和实际需要。此外数据挖掘系统还应能够挖掘出

多种层次(抽象水平)的模式知识。数据挖掘系统还应容许用户指导挖掘搜索有价值的模式知识。数据挖掘功能以及所能够挖掘的知识类型说明描述如下。

1.3.1概念描述:定性与对比

一个概念常常是对一个包含大量数据的数据集合总体情况的概述。如对一个商店所售电脑基本情况的概述总结就会获得所售电脑基本情况的一个整体概念。对含有大量数据的数据集合进行概述性的总结并获得简明、准确的描述,这种描述就称为概念描述。获得概念描述的方法主要有以下两种:

(1)利用更为广义的属性,对所分析数据进行概要总结;其中被分析的数据就称为目标数据集;

(2)对两类所分析的数据特点进行对比并对对比结果给出概要性总结;而其中两类被分析的数据集分别被称为目标数据集和对比数据集。

数据概要总结就是利用数据描述属性中更广义的(属性)内容对其进行归纳描述。其中被分析的数据,常常可以通过简单的数据库查询来获得。如:对我校的讲师情况进行概要总结(给出概念描述)。数据概要总结通常都用更广义的关系表或特征描述规则来加以输出表示。

1.3.2关联分析

关联分析就是从给定的数据集发现频繁出现的项集模式知识。关联分析广泛用于市场营销、事务分析等应用领域。

1.3.3分类与预测

分类就是找出一组能够描述数据集合典型特征的模型(或函数),以便能够分类识别未知数据的归属或类别,即将未知事例映射到某种离散类别之一。分类模型(或函数)可以通过分类挖掘算法从一组训练样本数据(其类别归属已知)中学习获得。

分类挖掘所获的分类模型可以采用多种形式加以描述输出。其中主要的表示方法有:分类规则、决策树、数学公式和神经网络。决策树是一个具有层次结构的树状结构,如图1.7所示就是一个决策树。决策树可以很容易地转换为分类规则。

分类通常用于预测未知数据实例的归属类别(有限离散值),如一个银行客户的信用等级是属于6级、_级还是)级。但在一些情况下,需要预测某数值属性的值(连续数值),这样的分类就被称为预测。尽管预测既包括连续数值的预测,也包括有限离散值的分类;但一般还是使用预测来表示对连续数值的预测;而使用分类来表示对有限离散值的预测。

1.3.4聚类分析

聚类分析与分类预测方法明显不同之处在于,后者所学习获取分类预测模型所使用的数据是已知类别归属,属于有教师监督学习方法;而聚类分析(无论是在学习还是在归类预测时)所分析处理的数据均是无(事先确定)类别归属,类别归属标志在聚类分析处理的数据集中是不存在的。究其原因很简单,它们原来就不存在,因此聚类分析属于无教师监督学习方法。聚类分析中,首先需要根据“各聚集内部数据对象间的相似度最大化;而各聚集对象间相似度最小化”的基本聚类分析原则,以及度量数据对象之间相似度的计算公式,将聚类分析的数据对象划分为若干组。因此一个组中数据对象间的相似度要比不同组数据对象间的相似度要大。每一个聚类分析所获得的组就可以视为是一个同类别归属的数据对象集合,更进一步从这些同类别数据集,又可以通过分类学习获得相应的分类预测模型(规则)。此外通过反复不断地对所获得的聚类组进行聚类分析,还可获得初始数据集合的一个层次结构模型。

1.3.5异类分析

一个数据库中的数据一般不可能都符合分类预测或聚类分析所获得的模型。那些不符合大多数数据对象所构成的规律(模型)的数据对象就被称为异类。之前许多数据挖掘方法都在正式进行数据挖掘之前就将这些异类作为噪声或意外而将其排除在数据挖掘的分析处理范围之内。但在一些应用场合,如各种商业欺诈行为的自动检测,小概率发生的事件(数据)往往比经常发生的事件(数据)更有挖掘价值。对异类数据的分析处理通常就称为异类挖掘。

数据中的异类可以利用数理统计方法分析获得,即利用已知数据所获得的概率统计分布模型,或利用相似度计算所获得的相似数据对象分布,分析确认异类数据。而偏离检测就是从数据已有或期望值中找出某些关键测度显著的变化。

1.3.6演化分析

数据演化分析就是对随时间变化的数据对象的变化规律和趋势进行建模描述。这一建模手段包括:概念描述、对比概念描述、关联分析、分类分析、时间相关数据分析(这其中又包括:时序数据分析、序列或周期模式匹配,以及基于相似性的数据分析)。

1.4数据挖掘结果的评估

一个数据挖掘系统在完成一个(组)挖掘算法之后,常常会获得成千上万的模式或规则。关联规则挖掘就是一个典型的例子,关联规则挖掘算法的执行结果,即使是对一个规

模较小的数据库(几万条交易事务记录),也会得到数千条关联规则。显然这数千条关联规则中,只会有一小部分是实际应用价值的。那么如何对数据挖掘步骤所获得的挖掘结果进行有效地评估,以便最终能够获得有(实际应用)价值的模式(或规则)知识?这就给数据挖掘提出了许多需要解决的问题:“使一个模式有价值的因素是什么?”、“一个数据挖掘算法能否产生所有有价值的模式(知识)?”、“一个数据挖掘算法能否只产生有价值的模式(知识)?”。

对于第一问题,评估一个模式(知识)是否有意义通常有依据以下四条标准:(1)易于用户理解;(2)对新数据或测试数据能够确定有效程度;(3)具有潜在价值;(4)新奇的。一个有价值的模式就是知识。

此外还有一些评价模式价值的客观标准,这些标准是基于所挖掘出模式的结构或统计特征。例如对于关联规则的一个客观评价标准就是支持率,它表示满足相应关联规则的事务记录占总记录数的比率;尽管客观评价方法能够帮助识别一些有意义的模式知识,但也仍然需要结合一些主观评价措施方可有效反映用户的需求和兴趣。例如商场主观对描述常在商场购买商品顾客的特征模型很感兴趣;而对商场雇员的表现特征模型却兴趣不大。再者许多根据客观评价标准是有价值的模式知识却只是普通的常识知识(实际无价值)。主观价值评估标准是建立在用户对数据的信念基础上,这些评估标准基于所发现模式是否是意外的或与用户信念相左,或能够提供决策支持而确定的。而意料之中模式是有价值的则是指它能够帮助确认用户想要认可的一个假设。

至于第二个问题,即“一个数据挖掘算法能否产生所有有价值的模式(知识)?”,则是指数据挖掘算法的完全性。期望数据挖掘算法能够产生所有可能模式是不现实的。实际上一个(模式)搜索方法可以利用有趣性评价标准来帮助缩小模式的搜索范围。因此通常只需要保证挖掘算法的完全性就可以了。关联规则的挖掘算法就是这样的一个例子。

最后回答第三个问题,即“一个数据挖掘算法能否只产生有价值的模式(知识)?”,这也是数据挖掘算法的一个最优化问题。一般当然希望数据挖掘算法仅挖掘有价值的模式(知识),但这是一个较为棘手的最优化高效搜索问题,至今尚没有好的解决方法。

评估所挖掘模式的趣味性标准对于有效挖掘出具有应用价值的模式知识是十分重要的。这些标准可以直接帮助指导挖掘算法获取有实际应用价值的模式知识,以及有效摒弃无意义的模式。更为重要的是这些模式评估标准将积极指导整个知识发现过程,通过及时消除无前途的搜索路径,提高挖掘的有效性。

1.5数据挖掘系统

1.5.1数据挖掘系统分类

数据挖掘是一个多学科交叉领域,这些交叉学科包括:数据库系统、机器学习、统计学、可视化和信息科学。此外因数据挖掘任务不同,数据挖掘系统还可能采用其它学科的一些技术方法,如:神经网络、模糊逻辑、粗糙集、知识表示、推理逻辑编程或高性能计算等。根据所挖掘的数据和挖掘应用背景,数据挖掘系统还可能集成其它领域的一些技术方法,其中包括:空间数据分析、信息检索、模式识别、图象分析、信号处理、计算机图形学、互联网技术、经济学、心理学等。

正因为数据挖掘技术方法的多样性,也就导致了数据挖掘系统的多样性。因此为帮助正确认识数据挖掘系统并准确有效使用合适的数据挖掘系统解决实际问题,这里将对数据挖掘系统分类标准作一详细介绍:

?根据所挖掘的数据库进行分类,一个数据挖掘系统可以按照其所挖掘的数据库类型进行分类。而数据库系统本身就有多个划分标准(如:按数据模型、数据类型,以及应用本身),这些数据库系统均与各自的数据挖掘技术相对应。因此数据挖掘系统可以按照数据库系统类型进行划分。例如:若根据数据模型进行分类,就会有关系类型、事务类型、面向对象类型、对象关系类型和数据仓库类型等数据挖掘系统。但若按照所处理数据类型进行划分,就会有空间数据类型、时序数据类型、文本类型和多媒体类型等数据挖掘系统,或互联网挖掘系统。其他的系统类型还包括:异构数据挖掘系统和历史数据挖掘系统。?根据所挖掘的知识进行分类,可以根据所挖掘的知识类型对数据挖掘系统进行分类。因此就可以根据概念描述知识、对比概念描述知识、关联知识、分类知识、聚类知识、异类知识、趋势与演化分析知识等进行划分。一个较成熟的数据挖掘系统通常提供多种(或集成)数据挖掘的结果(知识)。

此外还可以根据所挖掘知识的抽象水平和细度对数据挖掘系统进行划分,因此就会有广义知识(更抽象知识)、基本层次知识、多层次知识(多个抽象水平)的数据挖掘系统。一个高级数据挖掘系统应该具有挖掘多层次知识的能力。

?根据所使用的技术进行分类,依据所使用的数据挖掘技术也可以对数据挖掘系统进行分类。这些挖掘技术既可以按照用户交互程度,从完全自主到交互式探索和基于查询驱动进行划分;也可以按照所使用的数据分析方法,如:基于数据库或基于数据仓库技术、机器学习、统计、可视化、模式识别、神经网络等进行分类。一个复杂的数据挖掘系统常常采用多种数据挖掘技术或整合多种数据挖掘技术以弥补不同数据挖掘技术所存在的不足。

1.5.2数据挖掘系统的应用

实际上数据挖掘技术从一开始就是面向应用的。目前,在很多重要的领域,数据挖掘都可以发挥积极促进的作用。尤其是在如银行、电信、保险、交通、零售(如超级市场)等商业应用领域。数据挖掘能够帮助解决许多典型的商业问题,其中包括:数据库营销、客户群体划分、背景分析、交叉销售等市场分析行为,以及客户流失性分析、客户信用评分、欺诈发现等等。

数据挖掘技术在企业市场营销中得到了比较普遍的应用,它是以市场营销学的市场细分原理为基础,其基本假定是@消费者过去的行为是其今后消费倾向的最好说明。

通过收集、加工和处理涉及消费者消费行为的大量信息,确定特定消费群体或个体的兴趣、消费习惯、消费倾向和消费需求,进而推断出相应消费群体或个体下一步的消费行为,然后以此为基础,对所识别出来的消费群体进行特定内容的定向营销,这与传统的不区分消费者对象特征的大规模营销手段相比,大大节省了营销成本,提高了营销效果,从而为企业带来更多的利润。

商业消费信息来自市场中的各种渠道。例如:每当我们用信用卡消费时,商业企业就可以在信用卡结算过程中收集商业消费信息,记录下我们进行消费的时间、地点、感兴趣的商品或服务、愿意接收的价格水平和支付能力等数据;当我们在申办信用卡、办理汽车驾驶执照、填写商品保修单等其他需要填写表格的场合时,我们的个人信息就存入了相应的业务数据库;企业除了自行收集相关业务信息之外,甚至可以从其他公司或机构购买此类信息为自己所用。

这些来自各种渠道的数据信息被组合,应用超级计算机、并行处理、神经元网络、模型化算法和其他信息处理技术手段进行处理,从中得到商家用于向特定消费群体或个体进行定向营销的决策信息。这种数据信息是如何应用的呢?举一个简单的例子,当银行通过对业务数据进行挖掘后,发现一个银行帐户持有者突然要求申请双人联合帐户时,并且确认该消费者是第一次申请联合帐户,银行会推断该用户可能要结婚了,它就会向该用户定向推销用于购买房屋、支付子女学费等长期投资业务,银行甚至可能将该信息卖给专营婚庆商品和服务的公司。数据挖掘构筑竞争优势。

在市场经济比较发达的国家和地区,许多公司都开始在原有信息系统的基础上通过数据挖掘对业务信息进行深加工,以构筑自己的竞争优势,扩大自己的营业额。美国运通公司有一个用于记录信用卡业务的数据库,数据量达到54亿字符,并仍在随着业务进展不断更新。运通公司通过对这些数据进行挖掘,制定了“关联结算优惠”的促销策略,即如果一个顾客在一个商店用运通卡购买一套时装,那么在同一个商店再买一双鞋,就可以得到

比较大的折扣,这样既可以增加商店的销售量,也可以增加运通卡在该商店的使用率。再如,居住在伦敦的持卡消费者如果最近刚刚乘英国航空公司的航班去过巴黎,那么他可能会得到一个周末前往纽约的机票打折优惠卡。

基于数据挖掘的营销,常常可以向消费者发出与其以前的消费行为相关的推销材料。卡夫食品公司建立了一个拥有3000万客户资料的数据库,数据库是通过收集对公司发出的优惠券等其他促销手段作出积极反应的客户和销售记录而建立起来的,卡夫公司通过数据挖掘了解特定客户的兴趣和口味,并以此为基础向他们发送特定产品的优惠券,并为他们推荐符合客户口味和健康状况的卡夫产品食谱。美国的读者文摘出版公司运行着一个积累了40年的业务数据库,其中容纳有遍布全球的一亿多个订户的资料,数据库每天24小时连续运行,保证数据不断得到实时的更新,正是基于对客户资料数据库进行数据挖掘的优势,使读者文摘出版公司能够从通俗杂志扩展到专业杂志、书刊和声像制品的出版和发行业务,极大地扩展了自己的业务。

数据挖掘系统的其它应用还有:

?在对客户进行分析方面:银行信用卡和保险行业,利用数据挖掘将市场分成有意义的群组和部门,从而协助市场经理和业务执行人员更好地集中于有促进作用的活动和设计新的市场运动。

?在客户关系管理方面:数据挖掘能找出产品使用模式或协助了解客户行为,从而可以改进通道管理。又如正确时间销售就是基于顾客生活周期模型来实施的。

?在零售业方面:数据挖掘用于顾客购货篮的分析可以协助货架布置,促销活动时间,促销商品组合以及了解滞销和畅销商品状况等商业活动。通过对一种厂家商品在各连锁店的市场共享分析,客户统计以及历史状况的分析,可以确定销售和广告业务的有效性。

?在产品质量保证方面:数据挖掘协助管理大数量变量之间的相互作用,并能自动发现出某些不正常的数据分布,揭示制造和装配操作过程中变化情况和各种因素,从而协助质量工程师很快地注意到问题发生范围和采取改正措施。

?在远程通讯方面:基于数据挖掘的分析协助组织策略变更以适应外部世界的变化,确定市场变化模式以指导销售计划。在网络容量利用方面,数据挖掘能提供对客户聚集服务使用的结构和模式的了解,从而指导容量计划人员对网络设施作出最佳投资决策。

?在各个企事业部门,数据挖掘在假伪检测及险灾评估、失误回避、资源分配、市场销售预测广告投资等很多方面,起着很重要作用。例如在化学及制药行业,将数据挖掘用于巨量生物信息可以发现新的有用化学成分;在遥感领域针对每天从卫星上及其它方面来的

相关文档