1、第11讲 数据挖掘概述Chapter 11 Introduction to Data Mining,徐从富(Congfu Xu), PhD, Asso. Professor 浙江大学人工智能研究所2005年5月17日第一稿2006年10月30日第二次修改,浙江大学研究生人工智能引论课件,内容提纲,数据挖掘介绍数据挖掘系统数据挖掘算法国际会议和期刊课后研读的论文主要参考资料,数据挖掘介绍,数据挖掘的由来数据挖掘的应用基本概念区分数据挖掘基本内容数据挖掘基本特征数据挖掘的其他主题,数据挖掘的由来,背景网络之后的下一个技术热点数据爆炸但知识贫乏从商业数据到商业信息的进化,背景,人类已进入一个崭新的信
2、息时代 数据库中存储的数据量急剧膨胀 需要从海量数据库和大量繁杂信息中提取有价值的知识,进一步提高信息的利用率产生了一个新的研究方向:基于数据库的知识发现(Knowledge Discovery in Database),以及相应的数据挖掘(Data Mining)理论和技术的研究,随着大数据库的建立和海量数据的不断涌现,必然提出对强有力的数据分析工具的迫切需求。但现实情况往往是“数据十分丰富,而信息相当贫乏。”快速增长的海量数据收集、存放在大型数据库中,没有强有力的工具,理解它们已经远远超出人的能力。因此,有人称之为:“数据坟墓”。由于专家系统工具过分依赖用户或专家人工地将知识输入知识库中,
3、而且分析结果往往带有偏差和错误,再加上耗时、费用高,故不可行。,数据矿山,信息金块,数据挖掘工具,网络之后的下一个技术热点,大量信息在给人们带来方便的同时也带来了一大堆问题:信息过量,难以消化信息真假难以辨识信息安全难以保证信息形式不一致,难以统一处理,数据爆炸但知识贫乏,随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。,从商业数据到商业信息的进化,KDD的出现,基
4、于数据库的知识发现(KDD)一词首次出现在1989年举行的第十一届AAAI学术会议上。1995年在加拿大蒙特利尔召开了第一届KDD国际学术会议(KDD95)。由Kluwers Publishers出版,1997年创刊的Knowledge Discovery and Data Mining是该领域中的第一本学术刊物。,数据挖掘,数据库技术,统计学,高性能计算,人工智能,机器学习,可视化,数据挖掘是多学科的产物,KDD已经成为人工智能研究热点,目前,关于KDD的研究工作已经被众多领域所关注,如过程控制、信息管理、商业、医疗、金融等领域。 作为大规模数据库中先进的数据分析工具,KDD的研究已经成为数
5、据库及人工智能领域研究的一个热点。,数据挖掘的应用,电信 :流失银行:聚类(细分), 交叉销售百货公司/超市:购物篮分析 (关联规则)保险:细分,交叉销售,流失(原因分析)信用卡: 欺诈探测,细分电子商务: 网站日志分析税务部门:偷漏税行为探测警察机关:犯罪行为分析医学: 医疗保健,英国电信需要发布一种新的产品,需要通过直邮的方式向客户推荐这种产品。,使直邮的回应率提高了100,电信,GUS日用品零售商店需要准确的预测未来的商品销售量,降低库存成本。,通过数据挖掘的方法使库存成本比原来减少了3.8%,零售商店,美国国内税务局需要提高对纳税人的服务水平。,合理安排税务官的工作,为纳税人提供更迅捷
6、、更准确的服务,税务局,银行,金融事务需要搜集和处理大量的数据,由于银行在金融领域的地位、工作性质、业务特点以及激烈的市场竞争决定了它对信息化、电子化比其它领域有更迫切的要求。利用数据挖掘技术可以帮助银行产品开发部门描述客户以往的需求趋势,并预测未来。美国商业银行是发达国家商业银行的典范,许多地方值得我国学习和借鉴。,数据挖掘在银行领域的应用,美国银行家协会(ABA)预测数据仓库和数据挖掘技术在美国商业银行的应用增长率是14.9。分析客户使用分销渠道的情况和分销渠道的容量 ;建立利润评测模型;客户关系优化;风险控制等,Mellon银行使用数据挖掘软件提高销售和定价金融产品的精确度,如家庭普通贷
7、款。美国Firstar银行使用数据挖掘工具,根据客户的消费模式预测何时为客户提供何种产品。,汇丰银行需要对不断增长的客户群进行分类,对每种产品找出最有价值的客户。,营销费用减少了30,银行,基本概念区分,数据挖掘与知识发现数据挖掘和数据仓库数据挖掘与信息处理数据挖掘与联机分析数据挖掘与人工智能、统计学,数据挖掘和知识发现,数据挖掘(Data Mining)从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。与之相似的概念称为知识发现。知识发现(Knowledge Discovery in Databases)是用数据
8、库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后隐藏的知识,称为数据库中的知识发现。,数据挖掘和数据仓库,大部分情况下,数据挖掘都要先把数据从数据仓库中拿到数据挖掘库或数据集市中。从数据仓库中直接得到进行数据挖掘的数据有许多好处。数据仓库的数据清理和数据挖掘的数据清理差不多,如果数据在导入数据仓库时已经清理过,那很可能在做数据挖掘时就没必要再清理一次了,而且所有的数据不一致的问题都已经解决了。,数据挖掘库可能是数据仓库的一个逻辑上的子集,而不一定非得是物理上单独的数据库。但如果数据仓库的计算资源已经很紧张,那么最好还是建立一个单独的数据挖掘库。 当然为了数据挖掘也不必非得建立
9、一个数据仓库,数据仓库不是必需的。建立一个巨大的数据仓库,把各个不同源的数据统一在一起,解决所有的数据冲突问题,然后把所有的数据导到一个数据仓库内,是一项巨大的工程,可能要用几年的时间花上百万的钱才能完成。只是为了数据挖掘,你可以把一个或几个事务数据库导到一个只读的数据库中,就把它当作数据集市,然后在它上面进行数据挖掘。,数据挖掘与信息处理,信息处理信息处理基于查询,可以发现有用的信息。但是这种查询的回答反映的是直接存放在数据库中的信息。它们不反映复杂的模式,或隐藏在数据库中的规律。,数据挖掘与联机分析,OLAP分析过程在本质上是一个演绎推理的过程,是决策支持领域的一部分。传统的查询和报表工具
10、是告诉你数据库中都有什么(what happened),OLAP则更进一步告诉你下一步会怎么样(What next)和如果采取这样的措施又会怎么样(What if)。用户首先建立一个假设,然后用OLAP检索数据库来验证这个假设是否正确。数据挖掘在本质上是一个归纳推理的过程,与OLAP不同的地方是,数据挖掘不是用于验证某个假定的模式(模型)的正确性,而是在数据库中自己寻找模型。数据挖掘和OLAP具有一定的互补性。在利用数据挖掘出来的结论采取行动之前,OLAP工具能起辅助决策作用。而且在知识发现的早期阶段,OLAP工具用来探索数据,找到哪些是对一个问题比较重要的变量,发现异常数据和互相影响的变量。
11、这都有助于更好地理解数据,加快知识发现的过程。,数据挖掘与人工智能、统计学,数据挖掘利用了人工智能和统计分析的进步所带来的好处。这两门学科都致力于模式发现和预测。数据挖掘不是为了替代传统的统计分析技术。相反,它是统计分析方法学的延伸和扩展。大多数的统计分析技术都基于完善的数学理论和高超的技巧,预测的准确度还是令人满意的,但对使用者的要求很高。而随着计算机计算能力的不断增强,我们有可能利用计算机强大的计算能力只通过相对简单和固定的方法完成同样的功能。一些新兴的技术同样在知识发现领域取得了很好的效果,如神经元网络和决策树,在足够多的数据和计算能力下,它们几乎不需人工干预就能自动完成许多有价值的功能
12、。数据挖掘就是充分利用了统计学和人工智能技术的应用程序,并把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。,数据挖掘与统计学,数据挖掘分析海量数据许多数据库都不适合统计学分析需要,数据挖掘基本内容,数据挖掘的定义数据挖掘的数据来源数据挖掘的过程数据挖掘的功能数据挖掘的过程模型数据挖掘的分类数据挖掘的主要问题,数据挖掘的定义,数据挖掘是从大量数据中提取或“挖掘”知识。与数据挖掘类似但稍有不同含义的术语有:从数据库中发现知识(Knowledge Discovery from/in Database, KDD)知识提取(Knowledge
13、extract)数据 /模式分析(Data / Model analysis )。数据考古数据捕捞技术上的定义商业角度的定义,技术上的定义,数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。,商业角度的定义,数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。,数据挖掘的定义(续),人们给数据挖掘下过很多定义,内涵也各不相同,目前公认的定义是由Fayyad等人提出的。 所谓基于数据库
14、的知识发现(KDD)是指从大量数据中提取有效的、新颖的、潜在有用的、最终可被理解的模式的非平凡过程。,数据挖掘的数据来源,关系数据库数据仓库事务数据库,高级数据库系统和高级数据库应用,面向对象数据库空间数据库时间数据库和时间序列数据库文本数据库和多媒体数据库异种数据库WWW,数据挖掘过程,数据挖掘是一个反复迭代的人机交互处理过程。该过程需要经历多个步骤,并且很多决策需要由用户提供。 从宏观上看,数据挖掘过程主要由三个部分组成,即数据整理、数据挖掘和结果的解释评估。,(1)定义商业问题 要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么。否则,很难得到正确的结果。
15、(2)建立数据挖掘库 数据准备工作大概要花去整个数据挖掘项目的50%-90%的时间和精力。一般来说,直接在公司的数据仓库上进行数据挖掘是不合适的,最好建立一个独立的数据集。 建立数据挖掘库可分成如下几个部分: a) 数据收集 b) 数据描述 c) 选择,d) 数据质量评估和数据清理 e) 合并与整合 f) 构建元数据 g) 加载数据挖掘库 h) 维护数据挖掘库 (3)分析数据 数据分析的目的:是找到对预测输出影响最大的数据字段,并决定是否需要定义导出字段。(4)准备数据 这是建立模型之前的最后一步数据准备工作。可分成4个部分:a)选择变量; b)选择记录; c)创建新变量; d) 转换变量。,
16、(5)建立模型 对建立模型来说要记住的最重要的事是它是一个反复的过程。需要仔细考察不同的模型以判断哪个模型对你的商业问题最有用。 为了保证得到的模型具有较好的精确度和健壮性,需要一个定义完善的“训练验证”协议。有时也称此协议为带指导的学习。验证方法主要分为: a)简单验证法 b)交叉验证法:首先把原始数据随机平分成两份,然后用一部分做训练集另一部分做测试集计算错误率,做完之后把两部分数据交换再计算一次,得到另一个错误率,最后再用所有的数据建立一个模型,把上面得到的两个错误率进行平均作为最后用所有数据建立的模型的错误率。 c)自举法:是另一种评估模型错误率的技术。在数据量很小时尤其适用。与交叉验
17、证一样模型是用所有的数据建立。,(6)评价和解释 a) 模型验证。模型建立好之后,必须评价其结果、解释其价值。从测试集中得到的准确率只对用于建立模型的数据有意义。在实际应用中,随着应用数据的不同,模型的准确率肯定会变化。更重要的是,准确度自身并不一定是选择最好模型的正确评价方法。需要进一步了解错误的类型和由此带来的相关费用的多少。 b)外部验证。无论我们用模拟的方法计算出来的模型的准确率有多高,都不能保证此模型在面对现实世界中真实的数据时能取得好的效果。经验证有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含的各种假定。 例如,在建立用户购买模式的模型时,可能没有考虑通货膨
18、胀的影响,但实施模型时通货膨胀率突然由3%增加为17%,这显然会对人们的购买意向产生重大影响,因此再用原来的模型来预测客户购买情况必然会出现重大失误。,(7)实施 模型建立并经验证之后,可以有两种主要的使用方法: 第一种方法,是提供给分析人员做参考,由他通过察看和分析这个模型之后提出行动方案建议。比如可以把模型检测到的聚集、模型中蕴含的规则、或表明模型效果的图表拿给分析人员看。 另一种方法:是把此模型应用到不同的数据集上。模型可以用来标示一个事例的类别,给一项申请打分等。还可以用模型在数据库中选择符合特定要求的记录,以用OLAP工具做进一步的分析。 当提交一个复杂的应用时,数据挖掘可能只是整个
19、产品的一小部分,虽然可能是最关键的一部分。例如,常常把数据挖掘得到的知识与领域专家的知识结合起来,然后应用到数据库中的数据。在欺诈检测系统中可能既包含了数据挖掘发现的规律,也有人们在实践中早已总结出的规律。,KDD过程(续),KDD过程(续),1.数据准备:了解KDD应用领域的有关情况。包括熟悉相关的背景知识,搞清用户需求。 2.数据选取:数据选取的目的是确定目标数据,根据用户的需要从原始数据库中选取相关数据或样本。在此过程中,将利用一些数据库操作对数据库进行相关处理。,KDD过程(续),3.数据预处理:对步骤2中选出的数据进行再处理,检查数据的完整性及数据一致性,消除噪声,滤除与数据挖掘无关
20、的冗余数据,根据时间序列和已知的变化情况,利用统计等方法填充丢失的数据。 4.数据变换:根据知识发现的任务对经过预处理的数据进行再处理,主要是通过投影或利用数据库的其他操作减少数据量。,KDD过程(续),5.确定KDD目标:根据用户的要求,确定KDD要发现的知识类型。因为对KDD的不同要求会在具体的知识发现过程中采用不同的知识发现算法。如分类、总结、关联规则、聚类等。 6.选择算法:根据确定的任务选择合适的知识发现算法,包括选取合适的模型和参数。,KDD过程(续),7.数据挖掘:这是整个KDD过程中很重要的一个步骤。运用前面选择的算法,从数据库中提取用户感兴趣的知识,并以一定的方式表示出来(如
21、产生式规则等)是数据挖掘的目的。 8.模式解释:对在数据挖掘步骤中发现的模式(知识)进行解释。经过用户或机器评估后,可能会发现这些模式中存在冗余或无关的模式,此时应该将其剔除。如果模式不能满足用户的要求,就需要返回到前面的某些处理步骤中反复提取。,KDD过程(续),9.知识评价:将发现的知识以用户能了解的方式呈现给用户。 在上述步骤中,数据挖掘占据非常重要的地位,它主要是利用某些特定的知识发现算法,在一定的运算效率范围内,从数据中发现出有关知识,决定了整个KDD过程的效果与效率。,数据挖掘功能,数据挖掘任务有两类: 第一类是描述性挖掘任务:刻划数据库中数据的一般特性; 第二类是预测性挖掘任务:
22、在当前数据上进行推断,以进行预测。,概念 / 类描述:特征化和区分,概念 / 类描述 (class / concept description):用汇总的、简洁的、精确的方式描述每个类和概念。数据特征化 (data characterization) :是目标类数据的一般特征或特性的汇总。其中数据特征的输出形式有:饼图、条图、曲线、多维数据立方体、多维表等。数据区分 (Data discrimination) :是将目标类对象的一般特性与一个或多个对比类对象的一般特性比较。,关联分析,(1)定义:关联分析 (association analysis):发现关联规则,这些规则展示“属性值”频繁地
23、在给定数据集中一起出现的条件。 关联规则 (association rule): “X Y”,即 A1 A2 Am B1 B2 Bn 关联规则分为两类:一类是“多维关联规则”(multi-dimensional association rule);另一类是“单维关联规则”(single-dimensional association rule)。(2)实例 age(x, “20.29”) income(X, “20K.29K”) buys(X, “CD_player”) support = 2%, confidence = 60%,(1)定义 分类 (classification):是找出描述
24、并区分数据类或概念的模型(或函数),以便能够使用模型预测类标记未知的对象的过程。 注:导出模型(或函数)是基于对训练数据集(即其类标记已知的数据对象)的分析。(2)分类模型的导出方式 分类规则(IF-THEN)、决策树、数学公式、神经网络等。(3)相关分析 (relevance analysis) 一般情况下,相关分析需要在分类和预测之前进行,它试图识别对于分类和预测无用的属性,且这些属性应被排除。,分类和预测,(1)定义 聚类 (clustering):与分类和预测不同,它主要分析数据对象,而不考虑已知的类标记。 一般情况下,训练数据中不提供类标记,因为不知道从何开始。聚类可以用于产生这种标
25、记。(2)聚类或分组的原则 “最大化类内的相似性、最小化类间的相似性” 对象的簇(聚类)的形成办法为:使得在一个簇中的对象具有很高的相似性,而与其它簇中的对象很不相似。所形成的每个簇可以看作一个对象类,由它可以导出规则。,聚类分析,(1)定义 孤立点 (outlier):数据库中的那些与数据的一般行为或模型不一致的数据对象。 大部分数据挖掘方法将孤立点视为噪声或异常而将其丢弃,然而,在一些实际应用中(如欺骗检测、军事情报分析等),罕见点事件可能比正常出现的那些更有趣。孤立点数据分析称为孤立点挖掘(outlier mining)。(2)孤立点的检测方法 第一种方法:统计试验检测方法。假定一个数据
26、分布或概率模型,并使用距离度量,到其它聚类的距离很大的对象被视为孤立点。 第二种方法:基于偏差点方法。通过考察一群对象主要特征上的差别识别孤立点。,孤立点分析,(1)定义 数据演变分析 (evolution analysis):描述行为随时间变化的对象的规律或趋势,并对其建模。 演变分析包括时间相关数据的特征化、区分、关联、分类或聚类,最主要有三种演化分析方法:a) 时间序列数据分析b) 序列或周期模式匹配c) 基于类似性的数据分析,演变分析,数据挖掘过程模型是确保数据挖掘工作顺利进行的关键。典型的过程模型有: (1)SPSS的5A模型评估(Assess)、访问(Access)、分析(Anal
27、yze)、行动(Act)、自动化(Automate)。 (2)SAS的SEMMA模型采样(Sample)、探索(Explore)、修正(Modify)、建模(Model)、评估(Assess)。 (3) 跨行业数据挖掘过程标准CRISP-DM目前CRISP-DM仍在建立之中。 (4) 此外,Two Crows公司的数据挖掘过程模型,它与正在建立的CRISP-DM有许多相似之处。,数据挖掘过程模型,KDD的分类,根据挖掘的数据库类型分类根据挖掘的知识类型分类根据所用的技术分类根据应用分类,KDD的主要问题,数据挖掘结果的表示和显示处理噪声和不完全数据模式评估兴趣度问题数据挖掘算法的有效性和可伸缩
28、性并行、分布式和增量挖掘算法异种数据库和全球信息系统挖掘信息,数据挖掘基本特征,KDD和数据挖掘可以应用在很多领域中,它们具有如下一些公共特征: 海量数据集数据利用非常不足在开发知识发现系统时,领域专家对该领域的熟悉程度至关重要最终用户专门知识缺乏,有效的知识发现系统,为使知识发现系统更加有效,有几个软、硬件问题需要强调: 为使数据服务更加详尽,必须研究基础的体系结构、算法和数据结构。 解决存储管理中的新问题,开发有效的存储机制 。高层次的查询语言成为重要的研究课题 。描述多维对象的可视化工具在知识表示中将起重要作用 。,数据挖掘的发展趋势,视频和音频数据挖掘科学和统计数据挖掘数据挖掘的应用探
29、索可伸缩的数据挖掘方法数据挖掘与数据库系统、数据仓库和Web数据库系统的集成数据挖掘语言的标准化可视化数据挖掘复杂数据类型挖掘的方法Web挖掘数据挖掘中的隐私保护与信息安全,可视化数据挖掘,数据可视化数据挖掘结果可视化数据挖掘处理过程可视化交互式的可视化挖掘,数据可视化,数据挖掘结果可视化,Visualization of data mining results in SAS Enterprise Miner: scatter plots,Visualization of association rules in MineSet 3.0,Visualization of a decision
30、tree in MineSet 3.0,Visualization of cluster groupings in IBM Intelligent Miner,数据挖掘过程可视化,交互式的可视化挖掘,数据挖掘系统,数据挖掘工具数据挖掘过程数据挖掘系统如何选择数据挖掘系统数据挖掘系统发展趋势,数据挖掘工具,目前,世界上比较有影响的典型数据挖掘系统有:SAS公司的Enterprise MinerIBM公司的Intelligent MinerSGI公司的SetMinerSPSS公司的ClementineSybase公司的Warehouse StudioRuleQuest Research公司的See
31、5还有CoverStory、EXPLORA、Knowledge Discovery Workbench、DBMiner、Quest等。,数据挖掘过程,数据挖掘系统,数据挖掘系统介绍数据挖掘系统实施策略数据挖掘系统接口,数据挖掘系统介绍,数据挖掘系统结构数据挖掘系统进展,数据挖掘系统结构,数据仓库,数据清洗和集成,过滤,数据库,数据库或数据仓库服务器,数据挖掘引擎,模式评价,图形用户接口,知识库,数据库、数据仓库或其他信息库:这是一个或一组数据库、数据仓库、电子表格或其他类型的信息库。可以在数据上进行数据清理和集成。数据库或数据仓库服务器:根据用户的数据挖掘请求,数据库或数据仓库服务器负责提取相
32、关数据。知识库:这是领域知识,用于指导搜索,或评估结果模式的兴趣度。,数据挖掘引擎:这是数据挖掘系统基本的部分,由一组功能模块组成,用于特征化、关联、分类、聚类分析以及演变和偏差分析。模式评估模块:使用兴趣度度量,并与数据挖掘模块交互,以便将搜索聚焦在有趣的模式上。图形用户界面:在用户和数据挖掘系统之间通信,允许用户与系统交互,指定数据挖掘具体任务。,数据挖掘系统进展,第一代数据挖掘系统,特点支持一个或少数几个数据挖掘算法 挖掘向量数据(vector-valued data) 数据一般一次性调进内存进行处理 典型的系统如Salford Systems公司早期的CART系统(www.salfor
33、d-) 缺陷如果数据足够大,并且频繁的变化,这就需要利用数据库或者数据仓库技术进行管理,第一代系统显然不能满足需求。,CBA,新加坡国立大学。基于关联规则的分类算法,能从关系数据或者交易数据中挖掘关联规则,使用关联规则进行分类和预测,第二代数据挖掘系统,第二代数据挖掘系统支持数据库和数据仓库,和它们具有高性能的接口,具有高的可扩展性。例如,第二代系统能够挖掘大数据集、更复杂的数据集、以及高维数据。这一代系统通过支持数据挖掘模式(data mining schema)和数据挖掘查询语言(DMQL)增加系统的灵活性。,第二代数据挖掘系统(续),特点与数据库管理系统(DBMS)集成 支持数据库和数据
34、仓库,和它们具有高性能的接口,具有高的可扩展性 能够挖掘大数据集、以及更复杂的数据集 通过支持数据挖掘模式(data mining schema)和数据挖掘查询语言(DMQL)增加系统的灵活性 典型的系统如DBMiner,能通过DMQL挖掘语言进行挖掘操作缺陷只注重模型的生成,如何和预测模型系统集成导致了第三代数据挖掘系统的开发,DBMiner,SAS Enterprise Miner,第三代数据挖掘系统,第三代的特征是能够挖掘Internet/Extranet的分布式和高度异质的数据,并且能够有效地和操作型系统集成。这一代数据挖掘系统关键的技术之一是提供对建立在异质系统上的多个预测模型以及管
35、理这些预测模型的元数据提供第一级别(first class)的支持。,第三代数据挖掘系统,特点和预测模型系统之间能够无缝的集成,使得由数据挖掘软件产生的模型的变化能够及时反映到预测模型系统中 由数据挖掘软件产生的预测模型能够自动地被操作型系统吸收,从而与操作型系统中的预测模型相联合提供决策支持的功能 能够挖掘网络环境下(Internet/Extranet)的分布式和高度异质的数据,并且能够有效地和操作型系统集成 缺陷不能支持移动环境,SPSS Clementine,以PMML的格式提供与预测模型系统的接口,第四代数据挖掘系统,第四代数据挖掘系统能够挖掘嵌入式系统、移动系统、普适(ubiquit
36、ous)计算设备产生的各种类型的数据 。,第四代数据挖掘系统,特点目前移动计算越发显得重要,将数据挖掘和移动计算相结合是当前的一个研究领域。 第四代软件能够挖掘嵌入式系统、移动系统、和普适(ubiquitous)计算设备产生的各种类型的数据第四代数据挖掘原型或商业系统尚未见报导,PKDD2001上Kargupta发表了一篇在移动环境下挖掘决策树的论文,Kargupta是马里兰巴尔的摩州立大学(University of Maryland Baltimore County)正在研制的CAREER数据挖掘项目的负责人,该项目研究期限是2001年4月到2006年4月,目的是开发挖掘分布式和异质数据(
37、Ubiquitous设备)的第四代数据挖掘系统。,第一代系统与第二代相比因为不具有和数据管理系统之间有效的接口,所以在数据预处理方面有一定缺陷 第三、四代系统强调预测模型的使用和在操作型环境的部署 第二代系统提供数据管理系统和数据挖掘系统之间的有效接口 第三代系统另外还提供数据挖掘系统和预测模型系统之间的有效的接口 目前,随着新的挖掘算法的研究和开发,第一代数据挖掘系统仍然会出现,第二代系统是商业软件的主流,部分第二代系统开发商开始研制相应的第三代数据挖掘系统,比如 IBM Intelligent Score Service。第四代数据挖掘原型或商业系统尚未见报导,数据挖掘系统实施策略,第一代
38、数据挖掘系统,直接将需要挖掘的数据一次性调入内存,这些系统的成功依赖于团队和数据的质量如果数据足够大,并且频繁的变化,这就需要利用数据库或者数据仓库技术进行管理,因此第二代数据挖掘系统是必须的。不幸的是,目前的数据仓库设计是方便OLAP操作的,而不是数据挖掘应用。这意味着真正的第二代数据挖掘系统必须使用自己专门的数据管理系统,作为弥补目前数据库及数据仓库管理系统的缺陷,直到数据库和数据仓库厂商对合适的数据挖掘原语提供充分的支持。第二代数据挖掘系统应该能够产生PMML或者类似PMML的开放格式,使得挖掘结果能够与操作型系统集成。,实施策略(续),如果使用多个预测模型,或者预测模型需要经常修改,那
39、么应该选择正在出现的第三代数据挖掘系统,以支持这些功能,当然第三代系统也能与数据库或者数据仓库集成。第三代数据挖掘系统和预测模型系统的一个重要的优点是由数据挖掘系统产生的预测模型能够自动地被操作型系统吸收,从而与操作型系统中的预测模块相联合提供决策支持的功能。 目前在公司的日常营运中,移动计算越发显得重要,第四代数据挖掘系统能够在这儿起关键的作用。将数据挖掘和移动计算相结合是当前的一个研究领域。 第一代数据挖掘系统仍然未发展完全,第二代、第三代数据挖掘系统已经出现。目前未见到任何第四代数据挖掘系统的报导。,数据挖掘系统接口,第二代数据挖掘系统提供数据仓库和数据挖掘系统之间的有效的接口 第三代系
40、统另外还提供数据挖掘系统和预测模型系统之间的有效的接口 数据管理系统和数据挖掘之间的接口,可以作为如何标记合适的数据挖掘原语的一个研究问题。数据挖掘原语能够在数据仓库或者数据库内部执行以改善数据挖掘系统的性能。PMML是数据挖掘系统与预测模型系统之间的一个标准接口。,如何选择数据挖掘系统,不同的数据挖掘系统相似性较小不同的功能模块和方法处理的数据集不同,如何选择数据挖掘系统(续),数据类型(关系、文本、事务、时间序列、空间)系统问题(运行的操作系统)数据源(ODBC、多关系数据源)数据挖掘的功能和方法数据挖掘系统和数据库或数据仓库系统的结合可伸缩性(数据库的大小和维度)可视化工具数据挖掘查询语
41、言和图形用户接口,数据挖掘系统发展趋势,集成第二代、第三代、以及第四代数据挖掘和预测模型系统将与数据仓库合并,以提供一个集成的系统来管理日常的商业过程。 嵌入另一方面,二、三、四代数据挖掘技术将不断发展和成熟,能够和各种应用集成,成为一种嵌入式的技术(embedded technology)。,数据挖掘算法,粗糙集聚类关联规则决策树模糊集神经网络和支持向量机回归分析,粗糙集(Rough Set),粗糙集理论是波兰数学家Z.Pawlak于1982年提出的,是一种新的处理含糊性(Vagueness)和不确定性(Uncertainty)问题的数学工具。 粗糙集理论的主要优势之一就在于它不需要关于数据
42、的任何预备的或额外的信息。 粗糙集可以用于对信息系统的属性进行约简,即求出原有属性集合的一个子集,该子集具有与原属性集合相同的分类能力。 粗糙集已广泛应用于知识发现、机器学习、决策支持、模式识别、专家系统、归纳推理等领域。,聚类(Clustering),聚类(Clustering)是将物理或抽象的对象集合分成多个组的过程,聚类生成的组称为簇(Cluster),即簇是数据对象的集合。聚类就是要让生成的簇内部的任意两个对象之间具有较高的相似度,而属于不同簇的两个对象间具有较高的相异度。,聚类分析,从统计学的观点看,聚类分析是对数据建模,从而简化数据的一种方法,作为多元统计分析的主要分支之一,聚类分
43、析已被研究了很多年,主要集中在基于距离和基于相似度的聚类方法。 从机器学习的观点看,簇相当于隐藏模式,聚类是搜索簇的无监督学习过程。 从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。数据挖掘领域主要研究面向大型数据库、数据仓库的高效和实用的聚类分析算法。,聚类分析,数据挖掘中的聚类分析,数据挖掘关心聚类算法的如下特性:处理不同类型属性的能力、对大型数据集的可扩展性、处理高维数据的能力、发现任意形状簇的能力、处理孤立点或“噪声”数据的能力、对数据顺序的不敏感性、对先验知识和用户自定义参数的依赖性、聚类结果的可解释性和实用性、基于约束的聚类等。 主要的数据挖掘聚类方法有:划分的方法、层次的方
44、法、基于密度的方法、基于网格的方法、基于模型的方法等。,关联规则,Agrawal 针对大型超市的销售数据库建立了关联规则模型和数据挖掘算法。 所谓关联规则是指数据集中支持度和信任度分别满足给定阈值的规则。 几年来,在基于关联规则的算法研究中先后出现了AIS、SETM等数据挖掘算法。其中最著名的算法是R.Agrawal等人提出的Apriori。 Apriori算法的核心思想是把发现关联规则的工作分为两步:第一步通过迭代检索出事务数据库中的所有频繁项集,即频繁项集的支持度不低于用户设定的阈值;第二步从频繁项集中构造出满足用户最低信任度的规则。,决策树,决策树提供了一种展示类似“在什么条件下会得到什
45、么值”这类规则的方法。比如,在贷款申请中,要对申请的风险大小做出判断,为了解决这个问题而建立的一棵决策树,从中我们可以看到决策树的基本组成部分:决策节点、分支和叶子。决策树中最上面的节点称为根节点,是整个决策树的开始。,决策树(续),决策树是一个类似树形结构的流程图,每个内部节点表明在一个属性上的测试,树枝描述测试结果,叶子节点指明分类或分类的分布情况。构造决策树的方法采用自上而下递归的方式,如果训练例子集合中的所有例子是同类的,就将其作为一个叶子节点,节点内容为该类别的标记。 否则,根据某种策略确定一个测试属性,并按属性的各种取值把实例集合划分为若干个子集合,使每个子集上的所有实例在该属性上
46、具有相同的属性值。 然后,再依次递归处理各个子集,直到得到满意的分类属性为止。,模糊集,美国加利福尼亚大学的L.A.Zadeh教授于1965年提出了模糊集。 模糊集合论用隶属程度来描述差异的中介过渡,是一种用精确的数学语言对模糊性进行描述的方法。 扎德提出了著名的复杂性与精确性的“不相容原理”。模糊数学的产生把数学的应用范围从精确现象扩大到模糊现象的领域。 模糊聚类方法对对象的这种不分明的类属性质进行了很好地表达和处理。 模糊集方法也可用于分类问题。,神经网络和支持向量机,神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。神经网络可以很容易的解决具
47、有上百个参数的。神经网络常用于两类问题:分类和回归。 需特别指出的是,在一般情况下,统计学习理论和支持向量机(SVM)比一般的神经网络更有效,而且可将SVM看作是广义化的神经网络。其优点是,具有深厚的数学基础,算法可靠、推广能力强,适用于小样本数据集的知识(或规则)发现。,x,y,y = x + 1,X1,Y1,Y1,回归分析,Rank 1:ACM SIGMOD: Intl. Conf. on Management of DataVLDB / PODS: Intl. Conf. on Very Large Data BasesICDE: Intl. Conf. on Data Engineer
48、ingSIGKDD: Intl. Conf. on Knowledge Discovery and Data MiningRank 1.5:ICDM: IEEE Intl. Conf. on Data MiningSDM (SIAM): SIAM Data Mining Conference,IV. 有关国际会议和期刊,Rank 2:PKDD: European Conf. on Principles and Practice of Knowledge Discovery in DatabasesPAKDD: Pacific-Asia Conf. on Knowledge Discovery and Data MiningDASFAA: Intl. Conf. on Database Systems for Advanced ApplicationsOthers:WWWICMLCVPRNIPSSIGIR,