1、数据挖掘概述 Introduction to Data Mining,内容提纲,数据挖掘介绍 数据挖掘系统 数据挖掘算法,数据挖掘介绍,数据挖掘的由来 数据挖掘的应用 基本概念区分 数据挖掘基本内容 数据挖掘基本特征 数据挖掘的其他主题,数据挖掘的由来,背景 网络之后的下一个技术热点 数据爆炸但知识贫乏 从商业数据到商业信息的进化,背景,人类已进入一个崭新的信息时代 数据库中存储的数据量急剧膨胀 需要从海量数据库和大量繁杂信息中提取有价值的知识,进一步提高信息的利用率产生了一个新的研究方向:基于数据库的知识发现(Knowledge Discovery in Database),以及相应的数据挖
2、掘(Data Mining)理论和技术的研究,随着大数据库的建立和海量数据的不断涌现,必然提出对强有力的数据分析工具的迫切需求。但现实情况往往是“数据十分丰富,而信息相当贫乏。” 快速增长的海量数据收集、存放在大型数据库中,没有强有力的工具,理解它们已经远远超出人的能力。因此,有人称之为:“数据坟墓”。 由于专家系统工具过分依赖用户或专家人工地将知识输入知识库中,而且分析结果往往带有偏差和错误,再加上耗时、费用高,故不可行。,数据矿山,信息金块,数据挖掘工具,网络之后的下一个技术热点,大量信息在给人们带来方便的同时也带来了一大堆问题: 信息过量,难以消化 信息真假难以辨识 信息安全难以保证 信
3、息形式不一致,难以统一处理,数据爆炸但知识贫乏,随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。,从商业数据到商业信息的进化,数据挖掘,数据库技术,统计学,高性能计算,人工智能,机器学习,可视化,数据挖掘是多学科的产物,数据挖掘的应用,电信 :流失 银行:聚类(细分), 交叉销售 百货公司/超市:购物篮分析 (关联规则) 保险:细分,交叉销售,流失(原因分析) 信用
4、卡: 欺诈探测,细分 电子商务: 网站日志分析 税务部门:偷漏税行为探测 警察机关:犯罪行为分析 医学: 医疗保健,英国电信需要发布一种新的产品,需要通过直邮的方式向客户推荐这种产品。,使直邮的回应率提高了100,电信,GUS日用品零售商店需要准确的预测未来的商品销售量,降低库存成本。,通过数据挖掘的方法使库存成本比原来减少了3.8%,零售商店,美国国内税务局需要提高对纳税人的服务水平。,合理安排税务官的工作,为纳税人提供更迅捷、更准确的服务,税务局,银行,金融事务需要搜集和处理大量的数据,由于银行在金融领域的地位、工作性质、业务特点以及激烈的市场竞争决定了它对信息化、电子化比其它领域有更迫切
5、的要求。利用数据挖掘技术可以帮助银行产品开发部门描述客户以往的需求趋势,并预测未来。美国商业银行是发达国家商业银行的典范,许多地方值得我国学习和借鉴。,数据挖掘在银行领域的应用,美国银行家协会(ABA)预测数据仓库和数据挖掘技术在美国商业银行的应用增长率是14.9。 分析客户使用分销渠道的情况和分销渠道的容量 ;建立利润评测模型;客户关系优化;风险控制等,Mellon银行使用数据挖掘软件提高销售和定价金融产品的精确度,如家庭普通贷款。 美国Firstar银行使用数据挖掘工具,根据客户的消费模式预测何时为客户提供何种产品。,汇丰银行需要对不断增长的客户群进行分类,对每种产品找出最有价值的客户。,
6、营销费用减少了30,银行,基本概念区分,数据挖掘与知识发现 数据挖掘和数据仓库 数据挖掘与信息处理 数据挖掘与联机分析 数据挖掘与人工智能、统计学,数据挖掘和知识发现,数据挖掘(Data Mining)从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。与之相似的概念称为知识发现。知识发现(Knowledge Discovery in Databases)是用数据库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后隐藏的知识,称为数据库中的知识发现。,数据挖掘和数据仓库,大部分情况下,数据挖掘都要先把数
7、据从数据仓库中拿到数据挖掘库或数据集市中。从数据仓库中直接得到进行数据挖掘的数据有许多好处。数据仓库的数据清理和数据挖掘的数据清理差不多,如果数据在导入数据仓库时已经清理过,那很可能在做数据挖掘时就没必要再清理一次了,而且所有的数据不一致的问题都已经解决了。,数据挖掘库可能是数据仓库的一个逻辑上的子集,而不一定非得是物理上单独的数据库。但如果数据仓库的计算资源已经很紧张,那么最好还是建立一个单独的数据挖掘库。当然为了数据挖掘也不必非得建立一个数据仓库,数据仓库不是必需的。建立一个巨大的数据仓库,把各个不同源的数据统一在一起,解决所有的数据冲突问题,然后把所有的数据导到一个数据仓库内,是一项巨大
8、的工程,可能要用几年的时间花上百万的钱才能完成。只是为了数据挖掘,你可以把一个或几个事务数据库导到一个只读的数据库中,就把它当作数据集市,然后在它上面进行数据挖掘。,数据挖掘与信息处理,信息处理信息处理基于查询,可以发现有用的信息。但是这种查询的回答反映的是直接存放在数据库中的信息。它们不反映复杂的模式,或隐藏在数据库中的规律。,数据挖掘与联机分析,OLAP分析过程在本质上是一个演绎推理的过程,是决策支持领域的一部分。传统的查询和报表工具是告诉你数据库中都有什么(what happened),OLAP则更进一步告诉你下一步会怎么样(What next)和如果采取这样的措施又会怎么样(What
9、if)。用户首先建立一个假设,然后用OLAP检索数据库来验证这个假设是否正确。 数据挖掘在本质上是一个归纳推理的过程,与OLAP不同的地方是,数据挖掘不是用于验证某个假定的模式(模型)的正确性,而是在数据库中自己寻找模型。 数据挖掘和OLAP具有一定的互补性。在利用数据挖掘出来的结论采取行动之前,OLAP工具能起辅助决策作用。而且在知识发现的早期阶段,OLAP工具用来探索数据,找到哪些是对一个问题比较重要的变量,发现异常数据和互相影响的变量。这都有助于更好地理解数据,加快知识发现的过程。,数据挖掘与人工智能、统计学,数据挖掘利用了人工智能和统计分析的进步所带来的好处。这两门学科都致力于模式发现
10、和预测。 数据挖掘不是为了替代传统的统计分析技术。相反,它是统计分析方法学的延伸和扩展。大多数的统计分析技术都基于完善的数学理论和高超的技巧,预测的准确度还是令人满意的,但对使用者的要求很高。而随着计算机计算能力的不断增强,我们有可能利用计算机强大的计算能力只通过相对简单和固定的方法完成同样的功能。一些新兴的技术同样在知识发现领域取得了很好的效果,如神经元网络和决策树,在足够多的数据和计算能力下,它们几乎不需人工干预就能自动完成许多有价值的功能。 数据挖掘就是充分利用了统计学和人工智能技术的应用程序,并把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己
11、所要解决的问题。,数据挖掘与统计学,数据挖掘分析海量数据 许多数据库都不适合统计学分析需要,数据挖掘基本内容,数据挖掘的定义 数据挖掘的数据来源 数据挖掘的过程 数据挖掘的功能 数据挖掘的过程模型 数据挖掘的分类 数据挖掘的主要问题,数据挖掘的定义,数据挖掘是从大量数据中提取或“挖掘”知识。 与数据挖掘类似但稍有不同含义的术语有: 从数据库中发现知识(Knowledge Discovery from/in Database, KDD) 知识提取(Knowledge extract) 数据 /模式分析(Data / Model analysis )。 数据考古 数据捕捞 技术上的定义 商业角度的
12、定义,技术上的定义,数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。,商业角度的定义,数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。,数据挖掘的定义(续),人们给数据挖掘下过很多定义,内涵也各不相同,目前公认的定义是由Fayyad等人提出的。 所谓基于数据库的知识发现(KDD)是指从大量数据中提取有效的、新颖的、潜在有用的、最终可被理解的模式的非平凡过程。,数据挖掘的数据来源
13、,关系数据库 数据仓库 事务数据库,高级数据库系统和高级数据库应用,面向对象数据库 空间数据库 时间数据库和时间序列数据库 文本数据库和多媒体数据库 异种数据库 WWW,数据挖掘过程,数据挖掘是一个反复迭代的人机交互处理过程。该过程需要经历多个步骤,并且很多决策需要由用户提供。 从宏观上看,数据挖掘过程主要由三个部分组成,即数据整理、数据挖掘和结果的解释评估。,(1)定义商业问题 要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么。否则,很难得到正确的结果。 (2)建立数据挖掘库 数据准备工作大概要花去整个数据挖掘项目的50%-90%的时间和精力。一般来说,直接在
14、公司的数据仓库上进行数据挖掘是不合适的,最好建立一个独立的数据集。 建立数据挖掘库可分成如下几个部分: a) 数据收集 b) 数据描述 c) 选择,d) 数据质量评估和数据清理 e) 合并与整合 f) 构建元数据 g) 加载数据挖掘库 h) 维护数据挖掘库 (3)分析数据 数据分析的目的:是找到对预测输出影响最大的数据字段,并决定是否需要定义导出字段。 (4)准备数据 这是建立模型之前的最后一步数据准备工作。可分成4个部分: a)选择变量; b)选择记录; c)创建新变量; d) 转换变量。,(5)建立模型 对建立模型来说要记住的最重要的事是它是一个反复的过程。需要仔细考察不同的模型以判断哪个
15、模型对你的商业问题最有用。为了保证得到的模型具有较好的精确度和健壮性,需要一个定义完善的“训练验证”协议。有时也称此协议为带指导的学习。验证方法主要分为:a)简单验证法b)交叉验证法:首先把原始数据随机平分成两份,然后用一部分做训练集另一部分做测试集计算错误率,做完之后把两部分数据交换再计算一次,得到另一个错误率,最后再用所有的数据建立一个模型,把上面得到的两个错误率进行平均作为最后用所有数据建立的模型的错误率。 c)自举法:是另一种评估模型错误率的技术。在数据量很小时尤其适用。与交叉验证一样模型是用所有的数据建立。,(6)评价和解释 a) 模型验证。模型建立好之后,必须评价其结果、解释其价值
16、。从测试集中得到的准确率只对用于建立模型的数据有意义。在实际应用中,随着应用数据的不同,模型的准确率肯定会变化。更重要的是,准确度自身并不一定是选择最好模型的正确评价方法。需要进一步了解错误的类型和由此带来的相关费用的多少。 b)外部验证。无论我们用模拟的方法计算出来的模型的准确率有多高,都不能保证此模型在面对现实世界中真实的数据时能取得好的效果。经验证有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含的各种假定。例如,在建立用户购买模式的模型时,可能没有考虑通货膨胀的影响,但实施模型时通货膨胀率突然由3%增加为17%,这显然会对人们的购买意向产生重大影响,因此再用原来的模
17、型来预测客户购买情况必然会出现重大失误。,(7)实施 模型建立并经验证之后,可以有两种主要的使用方法: 第一种方法,是提供给分析人员做参考,由他通过察看和分析这个模型之后提出行动方案建议。比如可以把模型检测到的聚集、模型中蕴含的规则、或表明模型效果的图表拿给分析人员看。另一种方法:是把此模型应用到不同的数据集上。模型可以用来标示一个事例的类别,给一项申请打分等。还可以用模型在数据库中选择符合特定要求的记录,以用OLAP工具做进一步的分析。当提交一个复杂的应用时,数据挖掘可能只是整个产品的一小部分,虽然可能是最关键的一部分。例如,常常把数据挖掘得到的知识与领域专家的知识结合起来,然后应用到数据库
18、中的数据。在欺诈检测系统中可能既包含了数据挖掘发现的规律,也有人们在实践中早已总结出的规律。,数据挖掘功能,数据挖掘任务有两类:第一类是描述性挖掘任务:刻划数据库中数据的一般特性;第二类是预测性挖掘任务:在当前数据上进行推断,以进行预测。,概念 / 类描述:特征化和区分,概念 / 类描述 (class / concept description):用汇总的、简洁的、精确的方式描述每个类和概念。数据特征化 (data characterization) :是目标类数据的一般特征或特性的汇总。其中数据特征的输出形式有:饼图、条图、曲线、多维数据立方体、多维表等。数据区分 (Data discrim
19、ination) :是将目标类对象的一般特性与一个或多个对比类对象的一般特性比较。,关联分析,(1)定义:关联分析 (association analysis):发现关联规则,这些规则展示“属性值”频繁地在给定数据集中一起出现的条件。关联规则 (association rule): “X Y”,即A1 A2 Am B1 B2 Bn关联规则分为两类:一类是“多维关联规则”(multi-dimensional association rule);另一类是“单维关联规则”(single-dimensional association rule)。(2)实例age(x, “2029”) income(
20、X, “20K29K”) buys(X, “CD_player”) support = 2%, confidence = 60%,(1)定义分类 (classification):是找出描述并区分数据类或概念的模型(或函数),以便能够使用模型预测类标记未知的对象的过程。注:导出模型(或函数)是基于对训练数据集(即其类标记已知的数据对象)的分析。 (2)分类模型的导出方式分类规则(IF-THEN)、决策树、数学公式、神经网络等。 (3)相关分析 (relevance analysis)一般情况下,相关分析需要在分类和预测之前进行,它试图识别对于分类和预测无用的属性,且这些属性应被排除。,分类和预
21、测,(1)定义聚类 (clustering):与分类和预测不同,它主要分析数据对象,而不考虑已知的类标记。一般情况下,训练数据中不提供类标记,因为不知道从何开始。聚类可以用于产生这种标记。 (2)聚类或分组的原则“最大化类内的相似性、最小化类间的相似性”对象的簇(聚类)的形成办法为:使得在一个簇中的对象具有很高的相似性,而与其它簇中的对象很不相似。所形成的每个簇可以看作一个对象类,由它可以导出规则。,聚类分析,(1)定义孤立点 (outlier):数据库中的那些与数据的一般行为或模型不一致的数据对象。大部分数据挖掘方法将孤立点视为噪声或异常而将其丢弃,然而,在一些实际应用中(如欺骗检测、军事情
22、报分析等),罕见点事件可能比正常出现的那些更有趣。孤立点数据分析称为孤立点挖掘(outlier mining)。 (2)孤立点的检测方法第一种方法:统计试验检测方法。假定一个数据分布或概率模型,并使用距离度量,到其它聚类的距离很大的对象被视为孤立点。第二种方法:基于偏差点方法。通过考察一群对象主要特征上的差别识别孤立点。,孤立点分析,(1)定义数据演变分析 (evolution analysis):描述行为随时间变化的对象的规律或趋势,并对其建模。演变分析包括时间相关数据的特征化、区分、关联、分类或聚类,最主要有三种演化分析方法:a) 时间序列数据分析b) 序列或周期模式匹配c) 基于类似性的
23、数据分析,演变分析,数据挖掘过程模型是确保数据挖掘工作顺利进行的关键。典型的过程模型有:(1)SPSS的5A模型评估(Assess)、访问(Access)、分析(Analyze)、行动(Act)、自动化(Automate)。(2)SAS的SEMMA模型采样(Sample)、探索(Explore)、修正(Modify)、建模(Model)、评估(Assess)。(3) 跨行业数据挖掘过程标准CRISP-DM目前CRISP-DM仍在建立之中。(4) 此外,Two Crows公司的数据挖掘过程模型,它与正在建立的CRISP-DM有许多相似之处。,数据挖掘过程模型,数据挖掘基本特征,KDD和数据挖掘可
24、以应用在很多领域中,它们具有如下一些公共特征: 海量数据集 数据利用非常不足 在开发知识发现系统时,领域专家对该领域的熟悉程度至关重要 最终用户专门知识缺乏,有效的知识发现系统,为使知识发现系统更加有效,有几个软、硬件问题需要强调: 为使数据服务更加详尽,必须研究基础的体系结构、算法和数据结构。 解决存储管理中的新问题,开发有效的存储机制 。 高层次的查询语言成为重要的研究课题 。 描述多维对象的可视化工具在知识表示中将起重要作用 。,数据挖掘的发展趋势,视频和音频数据挖掘 科学和统计数据挖掘 数据挖掘的应用探索 可伸缩的数据挖掘方法 数据挖掘与数据库系统、数据仓库和Web数据库系统的集成 数
25、据挖掘语言的标准化 可视化数据挖掘 复杂数据类型挖掘的方法 Web挖掘 数据挖掘中的隐私保护与信息安全,可视化数据挖掘,数据可视化 数据挖掘结果可视化 数据挖掘处理过程可视化 交互式的可视化挖掘,数据可视化,数据挖掘结果可视化,数据挖掘过程可视化,数据挖掘系统,数据挖掘工具 数据挖掘过程 数据挖掘系统 如何选择数据挖掘系统 数据挖掘系统发展趋势,数据挖掘工具,目前,世界上比较有影响的典型数据挖掘系统有: SAS公司的Enterprise Miner IBM公司的Intelligent Miner SGI公司的SetMiner SPSS公司的Clementine Sybase公司的Warehou
26、se Studio RuleQuest Research公司的See5 还有CoverStory、EXPLORA、Knowledge Discovery Workbench、DBMiner、Quest等。,数据挖掘过程,数据挖掘系统,数据挖掘系统介绍 数据挖掘系统实施策略 数据挖掘系统接口,数据挖掘系统介绍,数据挖掘系统结构 数据挖掘系统进展,数据挖掘系统结构,数据仓库,数据清洗和集成,过滤,数据库,数据库或数据仓库服务器,数据挖掘引擎,模式评价,图形用户接口,知识库,数据库、数据仓库或其他信息库:这是一个或一组数据库、数据仓库、电子表格或其他类型的信息库。可以在数据上进行数据清理和集成。 数
27、据库或数据仓库服务器:根据用户的数据挖掘请求,数据库或数据仓库服务器负责提取相关数据。 知识库:这是领域知识,用于指导搜索,或评估结果模式的兴趣度。,数据挖掘引擎:这是数据挖掘系统基本的部分,由一组功能模块组成,用于特征化、关联、分类、聚类分析以及演变和偏差分析。 模式评估模块:使用兴趣度度量,并与数据挖掘模块交互,以便将搜索聚焦在有趣的模式上。 图形用户界面:在用户和数据挖掘系统之间通信,允许用户与系统交互,指定数据挖掘具体任务。,数据挖掘系统实施策略,第一代数据挖掘系统,直接将需要挖掘的数据一次性调入内存,这些系统的成功依赖于团队和数据的质量 如果数据足够大,并且频繁的变化,这就需要利用数
28、据库或者数据仓库技术进行管理,因此第二代数据挖掘系统是必须的。不幸的是,目前的数据仓库设计是方便OLAP操作的,而不是数据挖掘应用。这意味着真正的第二代数据挖掘系统必须使用自己专门的数据管理系统,作为弥补目前数据库及数据仓库管理系统的缺陷,直到数据库和数据仓库厂商对合适的数据挖掘原语提供充分的支持。第二代数据挖掘系统应该能够产生PMML或者类似PMML的开放格式,使得挖掘结果能够与操作型系统集成。,实施策略(续),如果使用多个预测模型,或者预测模型需要经常修改,那么应该选择正在出现的第三代数据挖掘系统,以支持这些功能,当然第三代系统也能与数据库或者数据仓库集成。第三代数据挖掘系统和预测模型系统
29、的一个重要的优点是由数据挖掘系统产生的预测模型能够自动地被操作型系统吸收,从而与操作型系统中的预测模块相联合提供决策支持的功能。 目前在公司的日常营运中,移动计算越发显得重要,第四代数据挖掘系统能够在这儿起关键的作用。将数据挖掘和移动计算相结合是当前的一个研究领域。 第一代数据挖掘系统仍然未发展完全,第二代、第三代数据挖掘系统已经出现。目前未见到任何第四代数据挖掘系统的报导。,数据挖掘系统接口,第二代数据挖掘系统提供数据仓库和数据挖掘系统之间的有效的接口 第三代系统另外还提供数据挖掘系统和预测模型系统之间的有效的接口 数据管理系统和数据挖掘之间的接口,可以作为如何标记合适的数据挖掘原语的一个研
30、究问题。数据挖掘原语能够在数据仓库或者数据库内部执行以改善数据挖掘系统的性能。 PMML是数据挖掘系统与预测模型系统之间的一个标准接口。,如何选择数据挖掘系统,不同的数据挖掘系统相似性较小 不同的功能模块和方法 处理的数据集不同,如何选择数据挖掘系统(续),数据类型(关系、文本、事务、时间序列、空间) 系统问题(运行的操作系统) 数据源(ODBC、多关系数据源) 数据挖掘的功能和方法 数据挖掘系统和数据库或数据仓库系统的结合 可伸缩性(数据库的大小和维度) 可视化工具 数据挖掘查询语言和图形用户接口,数据挖掘系统发展趋势,集成 第二代、第三代、以及第四代数据挖掘和预测模型系统将与数据仓库合并,
31、以提供一个集成的系统来管理日常的商业过程。 嵌入 另一方面,二、三、四代数据挖掘技术将不断发展和成熟,能够和各种应用集成,成为一种嵌入式的技术(embedded technology)。,数据挖掘算法,粗糙集 聚类 关联规则 决策树 模糊集 神经网络和支持向量机 回归分析,聚类(Clustering),聚类(Clustering)是将物理或抽象的对象集合分成多个组的过程,聚类生成的组称为簇(Cluster),即簇是数据对象的集合。聚类就是要让生成的簇内部的任意两个对象之间具有较高的相似度,而属于不同簇的两个对象间具有较高的相异度。,聚类分析,从统计学的观点看,聚类分析是对数据建模,从而简化数据
32、的一种方法,作为多元统计分析的主要分支之一,聚类分析已被研究了很多年,主要集中在基于距离和基于相似度的聚类方法。 从机器学习的观点看,簇相当于隐藏模式,聚类是搜索簇的无监督学习过程。 从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。数据挖掘领域主要研究面向大型数据库、数据仓库的高效和实用的聚类分析算法。,聚类分析,数据挖掘中的聚类分析,数据挖掘关心聚类算法的如下特性:处理不同类型属性的能力、对大型数据集的可扩展性、处理高维数据的能力、发现任意形状簇的能力、处理孤立点或“噪声”数据的能力、对数据顺序的不敏感性、对先验知识和用户自定义参数的依赖性、聚类结果的可解释性和实用性、基于约束的聚类等。 主要的数据挖掘聚类方法有:划分的方法、层次的方法、基于密度的方法、基于网格的方法、基于模型的方法等。,