1、数据挖掘技术与应用,万千,Contents,什么是数据挖掘?,数据挖掘与其他学科间的关系,数据挖掘的基本过程,数据挖掘的功能和算法,数据挖掘案例分析,数据挖掘是从大量数据中提取或“挖掘”知识。与数据挖掘类似但稍有不同含义的术语有:从数据库中发现知识(Knowledge Discovery from/in Database, KDD)知识提取(Knowledge extract)数据 /模式分析(Data / Model analysis )。数据考古数据捕捞技术上的定义商业角度的定义,什么是数据挖掘,技术上的定义,数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机
2、的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。,商业角度的定义,数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。,数据挖掘的定义(续),人们给数据挖掘下过很多定义,内涵也各不相同,目前公认的定义是由Fayyad等人提出的。 所谓基于数据库的知识发现(KDD)是指从大量数据中提取有效的、新颖的、潜在有用的、最终可被理解的模式的非平凡过程。,Contents,什么是数据挖掘?,数据挖掘与其他学科间的关系,数据挖掘的基本过程,数据挖掘的功能和算法,数据挖掘案例
3、分析,数据挖掘,机器学习,数据库技术,高性能计算,统计学,人工智能,可视化,数据挖掘是多学科的产物,数据挖掘与统计学的关系,为什么数据挖掘不是传统的数据分析?数据挖掘不是统计学的分支统计学是数据挖掘的核心,9,10,为什么数据挖掘不是传统的数据分析?,1、海量数据高维、高复杂度的数据算法必须能够处理诸如千兆的海量数据。2、统计学具有某种保守性,它倾向于尽量地避免出现特殊方法的运用,而偏好于数学上的严格性;数据挖掘分析问题喜欢“冒险”的态度。,3、在现代统计学中,模型是主要的,而对于模型的选择标准、如何计算等则都是次要的。但是在数据挖掘中,算法也扮演着重要的角色。4、统计学方法的前提假设。而数据
4、挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先未知、有效和可实用三个特征。,11,5、在统计理论方面:统计推断的基础“总体”和“样本”的概念是否还继续适用?面对如此大量的数据很难定义总体和样本;大样本渐近性质是否满足?由于数据量太大,传统的统计量无论真实情况如何都会变得“显著”;统计假设检验使用的小概率原理是否还适用?因为假定小概率事件在一次实验中不会发生是合理的,而数据量大到一定程度之后,小概率事件一定会发生。,12,统计学是数据挖掘的核心,统计学和数据挖掘有着共同的目标。统计学和数据挖掘有着共同的目标:发现数据中的结构或模式。统计学在数据挖掘中起着重要的作用
5、。传统的统计学方法是数据挖掘的经典方法,统计学思想在整个数据挖掘过程都有重要的体现,担负着不可忽视的重任。,13,数据挖掘与人工智能、统计学,数据挖掘利用了人工智能和统计分析的进步所带来的好处。这两门学科都致力于模式发现和预测。数据挖掘不是为了替代传统的统计分析技术。相反,它是统计分析方法学的延伸和扩展。大多数的统计分析技术都基于完善的数学理论和高超的技巧,预测的准确度还是令人满意的,但对使用者的要求很高。而随着计算机计算能力的不断增强,我们有可能利用计算机强大的计算能力只通过相对简单和固定的方法完成同样的功能。一些新兴的技术同样在知识发现领域取得了很好的效果,如神经元网络和决策树,在足够多的
6、数据和计算能力下,它们几乎不需人工干预就能自动完成许多有价值的功能。数据挖掘就是充分利用了统计学和人工智能技术的应用程序,并把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。,Contents,什么是数据挖掘?,数据挖掘与其他学科间的关系,数据挖掘的基本过程,数据挖掘的功能和算法,数据挖掘案例分析,数据挖掘(KDD)过程,数据挖掘是知识发现的核心步骤,数据挖掘过程,数据挖掘是一个反复迭代的人机交互处理过程。该过程需要经历多个步骤,并且很多决策需要由用户提供。 从宏观上看,数据挖掘过程主要由三个部分组成,即数据整理、数据挖掘和结果的解释评
7、估。,(1)定义商业问题 要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么。否则,很难得到正确的结果。 (2)建立数据挖掘库 数据准备工作大概要花去整个数据挖掘项目的50%-90%的时间和精力。一般来说,直接在公司的数据仓库上进行数据挖掘是不合适的,最好建立一个独立的数据集。 建立数据挖掘库可分成如下几个部分: a) 数据收集 b) 数据描述 c) 选择,d) 数据质量评估和数据清理 e) 合并与整合 f) 构建元数据 g) 加载数据挖掘库 h) 维护数据挖掘库 (3)分析数据 数据分析的目的:是找到对预测输出影响最大的数据字段,并决定是否需要定义导出字段。(4
8、)准备数据 这是建立模型之前的最后一步数据准备工作。可分成4个部分:a)选择变量; b)选择记录; c)创建新变量; d) 转换变量。,(5)建立模型 对建立模型来说要记住的最重要的事是它是一个反复的过程。需要仔细考察不同的模型以判断哪个模型对你的商业问题最有用。 为了保证得到的模型具有较好的精确度和健壮性,需要一个定义完善的“训练验证”协议。有时也称此协议为带指导的学习。验证方法主要分为: a)简单验证法 b)交叉验证法:首先把原始数据随机平分成两份,然后用一部分做训练集另一部分做测试集计算错误率,做完之后把两部分数据交换再计算一次,得到另一个错误率,最后再用所有的数据建立一个模型,把上面得
9、到的两个错误率进行平均作为最后用所有数据建立的模型的错误率。 c)自举法:是另一种评估模型错误率的技术。在数据量很小时尤其适用。与交叉验证一样模型是用所有的数据建立。,(6)评价和解释 a) 模型验证。模型建立好之后,必须评价其结果、解释其价值。从测试集中得到的准确率只对用于建立模型的数据有意义。在实际应用中,随着应用数据的不同,模型的准确率肯定会变化。更重要的是,准确度自身并不一定是选择最好模型的正确评价方法。需要进一步了解错误的类型和由此带来的相关费用的多少。 b)外部验证。无论我们用模拟的方法计算出来的模型的准确率有多高,都不能保证此模型在面对现实世界中真实的数据时能取得好的效果。经验证
10、有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含的各种假定。 例如,在建立用户购买模式的模型时,可能没有考虑通货膨胀的影响,但实施模型时通货膨胀率突然由3%增加为17%,这显然会对人们的购买意向产生重大影响,因此再用原来的模型来预测客户购买情况必然会出现重大失误。,(7)实施 模型建立并经验证之后,可以有两种主要的使用方法: 第一种方法,是提供给分析人员做参考,由他通过察看和分析这个模型之后提出行动方案建议。比如可以把模型检测到的聚集、模型中蕴含的规则、或表明模型效果的图表拿给分析人员看。 另一种方法:是把此模型应用到不同的数据集上。模型可以用来标示一个事例的类别,给一项
11、申请打分等。还可以用模型在数据库中选择符合特定要求的记录,以用OLAP工具做进一步的分析。 当提交一个复杂的应用时,数据挖掘可能只是整个产品的一小部分,虽然可能是最关键的一部分。例如,常常把数据挖掘得到的知识与领域专家的知识结合起来,然后应用到数据库中的数据。在欺诈检测系统中可能既包含了数据挖掘发现的规律,也有人们在实践中早已总结出的规律。,Contents,什么是数据挖掘?,数据挖掘与其他学科间的关系,数据挖掘的基本过程,数据挖掘的功能和算法,数据挖掘案例分析,数据挖掘功能,数据挖掘任务有两类: 第一类是描述性挖掘任务:刻划数据库中数据的一般特性; 第二类是预测性挖掘任务:在当前数据上进行推
12、断,以进行预测。,概念 / 类描述:特征化和区分,概念 / 类描述 (class / concept description):用汇总的、简洁的、精确的方式描述每个类和概念。数据特征化 (data characterization) :是目标类数据的一般特征或特性的汇总。其中数据特征的输出形式有:饼图、条图、曲线、多维数据立方体、多维表等。数据区分 (Data discrimination) :是将目标类对象的一般特性与一个或多个对比类对象的一般特性比较。,关联分析,(1)定义:关联分析 (association analysis):发现关联规则,这些规则展示“属性值”频繁地在给定数据集中一起
13、出现的条件。 关联规则 (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%,几年来,在基于关联规则的算法研究中先后出现了AIS、SETM等数据挖掘算法。其中
14、最著名的算法是R.Agrawal等人提出的Apriori。 Apriori算法的核心思想是把发现关联规则的工作分为两步:第一步通过迭代检索出事务数据库中的所有频繁项集,即频繁项集的支持度不低于用户设定的阈值;第二步从频繁项集中构造出满足用户最低信任度的规则。,关联分析,(1)定义 分类 (classification):是找出描述并区分数据类或概念的模型(或函数),以便能够使用模型预测类标记未知的对象的过程。 注:导出模型(或函数)是基于对训练数据集(即其类标记已知的数据对象)的分析。(2)分类模型的导出方式 分类规则(IF-THEN)、决策树、数学公式、神经网络等。(3)相关分析 (rele
15、vance analysis) 一般情况下,相关分析需要在分类和预测之前进行,它试图识别对于分类和预测无用的属性,且这些属性应被排除。,分类和预测,Decision Tree决策树,决策树是用二叉树形图来表示处理逻辑的一种工具,是对数据进行分类的方法。决策树的目标是针对类别因变量加以预测或解释反应结果。主要有两个步骤:首先,通过一批已知的样本数据建立一棵决策树;然后,利用建好的决策树,对数据进行预测。决策树的建立过程可以看成是数据规则的生成过程,因此,决策树实现了数据规则的可视化,其输出结果也容易理解。,29,2018/5/5,决策树的应用举例,2018/5/5,30,客户信贷分类,输出结果:
16、关于“buys_computer”的决策树,31,神经网络,32,类神经网络,类似人类神经元结构。神经元的主要功能是接受刺激和传递信息。神经元通过传入神经接受来自体内外环境变化的刺激信息,并对这些信息加以分析、综合和储存,再经过传出神经把指令传到所支配的器官和组织,产生调节和控制效应。,33,单纯贝叶斯分类主要是根据贝叶斯定理(Bayesian Theorem),来预测分类的结果。贝叶斯定理:P(X)、P(H)和P(X|H)可以由给定的数据计算,是先验概率。贝叶斯定理提供了一种由P(X)、P(H)和P(X|H)计算后验概率P(H|X)的方法。贝叶斯定理是:,34,2018/5/5,Nave B
17、ayes 分类,实例:办信用卡意愿分析,36,解:首先根据训练样本计算各属性相对于不同分类结果的条件概率:P(办卡)=7/10 P(不办卡)=3/10P(女性|办卡)=5/7 P(女性|不办卡)=1/3P(年龄=3145|办卡)=3/7P(年龄=3145|不办卡)=1/3P(学生=否|办卡)=5/7 P(学生=否|不办卡)=0/3P(收入=中|办卡)=2/7 P(收入=中|不办卡)=2/3,判断:X=(女性,年龄介于3145之间,不具学生身份,收入中等)会不会办理信用卡。,37,其次,再应用朴素贝氏分类器进行类别预测:计算P(办卡)P(女性|办卡)P(年龄3145|办卡)P(不是学生|办卡)P
18、(收入中|办卡) =15/3430.044P(不办卡)P(女性|不办卡)P(年龄3145|不办卡)P(不是学生|不办卡)P(收入中等|不办卡)=00.0440,38,训练样本中对于(女性,年龄介于3145之间,不具学生身份,收入中等)的个人,按照朴素贝叶斯分类会将其分到办信用卡一类中。办卡的概率是(0.044)/(0.044+0)=1(正规化分类的结果P(会)/(P(会)+P(不会),Logistic 回归,假设有个科学家想要了解某种毒物对于老鼠死亡率的分析,他做了三次实验,分别使用不同的毒物用量,去计算每一百只老鼠的死亡概率,然后他得到以下的结果:使用10毫克毒物,死亡率为15使用20毫克毒
19、物,死亡率35使用30毫克毒物,死亡率55从这些数值看起来,毒物的用量与死亡率呈现显著的正比关系,而且我们可以计算出一条非常完美准确的回归线:Y=2X-5(Y为死亡率,X为毒物用量)。,39,但是,这个方程式包含有一个重大错误。假设我们使用100毫克毒物,根据方程式计算,这些老鼠的死亡率为195,也就是说每一百只老鼠会死195只,而如果我们完全不放任何毒物时,死亡率为-5%,也就是每一百只老鼠会死负五只。很显然,这个线性回归模型没有考虑到几个重要的限制,即当我们使用毒物量降低时,死亡率应该是近于零(不会是负值),而当毒物量增加时,死亡率应该是接近于100。当需要把概率限制在01时,就可以考虑使
20、用LOGISTIC回归。,40,Logistic回归模型的构造,现y为发病或未发病,生存与死亡等定性分类变量,不能直接用回归模型进行分析。能否用发病的概率P来直接代替 y呢?即不行。但可以因此,定义logit(P)= lnP/(1-P)为Logistic变换,则Logistic回归模型为:,41,经数学变换可得:,42,Logistic回归模型是一种概率模型, 它是以疾病,死亡等结果发生的概率为因变量, 影响疾病发生的因素为自变量建立回归模型。 它特别适用于因变量为二项, 多项分类的资料。,43,(1)定义 聚类 (clustering):与分类 和预测 不同,它主要分析数据对象,而不考虑已知
21、的类标记。 一般情况下,训练数据中不提供类标记,因为不知道从何开始。聚类可以用于产生这种标记。(2)聚类或分组的原则 “最大化类内的相似性、最小化类间的相似性” 对象的簇(聚类)的形成办法为:使得在一个簇中的对象具有很高的相似性,而与其它簇中的对象很不相似。所形成的每个簇可以看作一个对象类,由它可以导出规则。,聚类分析,(1)定义 孤立点 (outlier):数据库中的那些与数据的一般行为 或模型 不一致的数据对象。 大部分数据挖掘方法将孤立点视为噪声或异常而将其丢弃,然而,在一些实际应用中(如欺骗检测、军事情报分析等),罕见点事件可能比正常出现的那些更有趣。孤立点数据分析称为孤立点挖掘(ou
22、tlier mining)。(2)孤立点的检测方法 第一种方法:统计试验检测方法。假定一个数据分布或概率模型,并使用距离度量,到其它聚类的距离很大的对象被视为孤立点。 第二种方法:基于偏差点方法。通过考察一群对象主要特征上的差别识别孤立点。,孤立点分析,(1)定义 数据演变分析 (evolution analysis):描述行为随时间变化的对象的规律或趋势,并对其建模。 演变分析包括时间相关数据的特征化、区分、关联、分类或聚类,最主要有三种演化分析方法:a) 时间序列数据分析b) 序列或周期模式匹配c) 基于类似性的数据分析,演变分析,Contents,什么是数据挖掘?,数据挖掘与其他学科间的关系,数据挖掘的基本过程,数据挖掘的功能和算法,数据挖掘案例分析,数据挖掘案例分析,