第二章数据挖掘资料.docx
- 文档编号:26470516
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:15
- 大小:28.99KB
第二章数据挖掘资料.docx
《第二章数据挖掘资料.docx》由会员分享,可在线阅读,更多相关《第二章数据挖掘资料.docx(15页珍藏版)》请在冰豆网上搜索。
第二章数据挖掘资料
第二章数据挖掘理论概述
2.1数据挖掘的定义和分类
目前,对数据挖掘(datamining)有广义的和狭义的两种理解。
广义的理解认为数据挖掘即数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD)。
即从大规模的数据库中抽取非平凡的、隐含的、未知的、有潜在使用价值的信息的过程。
狭义的理解认为数据挖掘是KDD的一个步骤。
KDD为从数据中识别正确的、新颖的、有潜在使用价值的、最终可理解的模式的非平凡的过程。
它包括数据选取、数据预处理和数据清洗、数据挖掘、知识评估等多个步骤。
数据挖掘是其中对经过预处理的数据进行处理,抽取知识的过程。
数据挖掘不一定需要建立在数据仓库的基础上,但是如果将数据挖掘和数据仓库协同工作,则可以简化数据挖掘过程的某些步骤,从而大大提高数据挖掘的工作效率。
由于数据仓库的数据来源于整个企业,保证了数据挖掘中数据来源的广泛性和完整性。
数据挖掘技术是数据仓库应用中比较重要且相对独立的部分。
目前,数据挖掘技术正处在发展当中。
数据挖掘涉及到数理统计、模糊理论、神经网络和人工智能等多种技术,技术含量比较高,实现难度较大。
此外,数据挖掘技术还会同可视化技术、地理信息系统、统计分析系统相结合,丰富数据挖掘技术及工具的功能与性能。
JiaweiHan在《DataMining:
Concept&Techniques》[21]中将目前的数据挖掘技术主要分为以下几类:
概念描述、关联分析、分类和预测、聚类分析、例外分析、趋势分析。
概念描述(特性描述和区分)数据可以由一定的概念和类来抽象表示人们对其关心的那部分的性质。
简单明了地描述这些概念和类显然是非常有用的。
关于这些概念的描述称为概念描述(conceptdescription),它包括了特性描述和区分。
关联分析
关联分析(associationanalysiS是在一个给定的数据集中发现经常同时发生的多个属性值条件(一般称为关联规则)的过程,常用于市场销售和事物数据分析。
但目前,其应用范围也日益拓展。
分类和预测
分类(classification)是指为了能够使用模型预测类标签(classlabel)还未知的对象所属的类,而寻找可以描述和区分类或概念的模型的过程,其中类标签指用来区分类的属性。
包括两个步骤:
通过分析训练数据空间中的数据,运用分类算法,建立分类模型;用测试数据空间中的数据估计己建立模型的预测准确性,如果用户可以接受,则用该模型对未知类别的数据进行分类预测。
所谓预侧(prediction),专指对丢失或无效的数据的值的预测。
聚类分析
聚类分析(clusteringanalysis)是一个将指定数据集中的数据进行归类的过程。
其遵循的原则是每个类内部各对象间的相似性尽可能最大,而不同类对象间的相似性尽可能最小。
在具体实现中,一般用计算对象属性的距离(欧几里德距离、曼哈顿距离等)来体现对象间的相似度。
例外分析
一个数据库中的数据可能不都遵循总的数据模型的行为,这些数据称为例外(outlier)。
通常数据挖掘方法把例外作为垃圾而抛弃,不过在一些场合下,比如欺诈检测中,例外却成为了最受关注的焦点。
例外分析大致有统计、基于距离、基于偏差三种方法。
趋势分析
数据趋势分析(evolutionanalysis)描述对象行为随时间变化的趋向和规律。
这个概念和特性描述、关联分析、分类、与时间相关的数据的聚类都有些类似,然而前者更强调对时序(time-series)数据的分析、有序和周期性模式的匹配、基于相似度的数据分析。
2.2数据挖掘的目的
数据挖掘用于辨认大量数据中所反映的有价值信息。
数据挖掘从机器学习的途径获取信息,使它能使用在决策支持、预测、估计等领域中。
数据通常是庞大而信息含量很低,在它未经加工时只有很小的直接使用价值。
有用的信息往往是隐藏在数据背后的。
数据挖掘就是从杂乱无章的数据中找出规律,把数据转化为信息的一个过程。
数据挖掘是一个利用各种分析工具在海量数据中发现模型和数据间关系的过程,这些模型和关系可以用来做出预测。
对企业来说,数据挖掘就是在“数据矿山”中找到蕴藏的“知识金块”,帮助企业减少不必要投资的同时提高资金回手及。
数据挖掘不是数据分析。
数据分析一般面对的数据量较小;人们对数据分析所得出的结论有着较为成熟、全面的预期;其过程常常受到人为因素强烈的影响。
数据挖掘一般面对的都是“海量”数据,因此其对算法的效率要比分析类高出很多;数据挖掘所得出的大多是隐性的信息,这些信息通常人力是很难发现的;数据挖掘某些过程也要受到人为因素的影响,但大多数时候,数据挖掘是较为客观的,它是一种机器性的学习结果,与人为因素关系不大。
数据挖掘只是帮助商业人士更深入、更容易的分析数据。
它无法告诉你客户流失模型对你的企业的实际价值,并且数据挖掘中得到的模型必须要在现实生活中进行验证。
数据挖掘也不会在缺乏指导的情况一下自动的发现模型,所以需要一个科学的挖掘过程。
值得重视的是,数据挖掘的从业人员不仅仅需要对数据挖掘的概念、算法、软件、模型有着清楚的认识,还要对数据挖掘所应用的行业有些深入的理解。
因为数据挖掘所挖掘的是较为深入的信息。
一个没有深厚行业背景的人在理解、应用这些信息时会不可避免的产生困难。
数据挖掘的任务是从大量数据中发现知识。
那么什么是知识?
这些知识是以何种形式表达出来?
又是怎样被利用的呢?
知识是人类认识的成果或结晶,包括经验知识和理论知识。
从工程角度定义,知识是有助于解决问题的有格式可复用的信息。
在传统的决策支持系统中,知识库中的知识和规则是由专家或程序人员建立的,是由外部输入的。
而数据挖掘的任务是发现大量数据中尚未被发现的知识,是从系统内部自动获取知识的过程。
对于那些决策者明确了解的信息,可以用查询、联机分析处理(OLAP)或其它工具直接获取,比如“列出各子公司在上个月的销售情况”。
而另外一些隐藏在大量数据中的关系、趋势,即使是管理这些数据的专家也是没有能力发现的。
数据挖掘发现的知识通常是用以下形式表示:
(1)概念(Concepts)
(2)规则(Rules)
(3)规律(Regularities)
(4)模式(Patterns)
(5)约束(Constraints)
(6)可视化(Visualizations)
这些知识可以直接提供给决策者,用以辅助决策过程;或者提供给领域专家,修正专家已有的知识体系;也可以作为新的知识体系转存到应用系统的知识存储机构中,比如专家系统(ExpertSystem)、规则库(RuleBase)等。
2.3数据挖掘的过程
数据挖掘过程一般由三个主要的阶段组成:
数据准备、采掘操作、结果表达和解释。
知识的发现可以描述为这三个阶段的反复过程数据准备
这个阶段又可进一步分成三个子步骤:
数据集成、数据选择、数据预处理。
数据集成将多文件或多数据库运行环境中的数据进行合并处理,解决语义模糊性、处理数据中的遗漏和清洗脏数据等。
数据选择的目的是辨别出需要分析的数据集合,缩小处理范围,提高数据挖掘的质量。
预处理是为了克服目前数据挖掘工具的局限性。
数据挖掘
这个阶段进行实际的采掘操作。
包括的要点有:
(1)要先决定如何产生假设,是让数据挖掘系统为用户产生假设,还是用户自己对于数据库中可能包含的知识提出假设。
前一种称为发现型(Discovery-Driven)的数据挖掘;后一种称为验证型(Verification-Driven)的数据挖掘;
(2)选择合适的工具;
(3)发掘知识的操作;
(4)证实发现的知识。
结果表述和解释根据最终用户的决策目的对提取的信息进行分析,把最有价值的信息区分出来,并且通过决策支持工具提交给决策者。
因此,这一步骤的任务不仅是把结果表达出来(例如采用信息可视化方法),还要对信息进行过滤处理。
如果不能令决策者满意,则需要重复以上数据挖掘的过程。
2.4数据挖掘的方法
数据挖掘的算法较多,我在这主要针对客户流失预测常用的算法作些介绍。
2.4.1贝叶斯分类
贝叶斯网络(BayesianNetwork,BN)又称信度网络,是Bayes方法的扩展。
从1988年由Pearl提出后,贝叶斯网络是目前不确定知识表达和推理领域最有效的理论模型之一,已成为近几年来研究的热点。
贝叶斯算法支持快速的创建有预测功能的挖掘模型,并且提供了一种浏览数据和理解数据的新方法。
贝叶斯提供了一种基于证据进行学习的系统方法。
这个算法通过你感兴趣的变量与所有其他的变量之间的相关性进行计数来学习“证据”。
贝叶斯网络适用于表达和分析不确定性和概率性的事件,应用于有条件地依赖多种控制因素的决策,可以从不完全、不精确或不确定的知识或信息中做出推理。
贝叶斯分类是基于贝叶斯原理进行的分类,该类算法可以预测类成员关系的可能性,如给定样本属于一个特定
的类的概率。
分类算法的比较研究发现,简单贝叶斯分类(朴素贝叶斯分类)是一
种简单、有效且在实际应用中较为成功的分类方法。
贝叶斯算法的实现非常简单,因此没有很多的参数。
默认情况下,已有的参数能够确保该算法在一个合理的时间内执行完成。
因为该算法要考虑所有属性对的组合,所以处理这些数据所要用的时间和内存与总的输入属性和总的输出属性的乘积有关。
通常,当使用参数时,这个算法擅长于选择哪一个属性作为输入,哪一个属性作为输出,并且将每个参数设置为0。
贝叶斯分类是一种以统计学中的贝叶斯定理为基础的分类方法。
贝叶斯分类方法包括:
朴素贝叶斯分类(SNBC:
SelectiveNaiveBayesianClassification)方法和贝叶斯信念网络分类(BBNC:
BayesianBelifNetworksClassification)等。
朴素贝叶斯分类方法建立在类条件独立假设的基础上,即假定一个属性值对给定类的影响独立于其他属性的值。
贝叶斯信念网络是一种因果关系图模型,可以允许属性子集间存在相关性。
算法的研究表明,朴素贝叶斯分类算法可以与判定树及神经网络分类算法媲美。
用于大型数据库,贝叶斯分类也表现出很高的准确性和速度。
在众多的分类方法中,朴素贝叶斯分类器在计算上具有非常高的效率。
在某些应用问题上表现出诱人的分类精度,因而广泛地应用于许多实际领域中。
从网络的拓扑结构来说,朴素贝叶斯分类器可以看作是一种具有很强限制条件的贝叶斯网络分类器,它假设所有属性是相互条件独立的,每个属性仅仅依赖于类变量或类标。
朴素贝叶斯分类方法是一种非常实用的学习技术,与决策树学习、基于规则的学习和神经网络学习方法相比,它有许多优势,如对噪音的健壮性,学习过程非常简单,不需要搜索等。
然而,朴素贝叶斯方法是以一个很强的简单假设一一数据中的属性相对于类标是相互独立的一一为基础的。
这个假设条件在现实世界的学习任务中是很少能够满足的。
2.4.2决策树
决策树算法是由机器学习专家J.RossQuinlan[在20世纪70年代后期开发出来的,称为ID3(lterativeDiehotomiser,迭代的二分器)。
以后的能处理连续属性的C4.5、CA卫T等决策树算法都是在ID3的算法基础上进行优化得来的,以及加入了Boosting思想的c5.0算法在其准确性、执行效率、可伸缩性都有了更进一步的发展。
Qululan之后提出的C4.5算法成为了新的监督学习算法的性能比较基准。
用决策树解决的最常见的数据挖掘任务是分类;例如,确定银行每个客户额信
用风险,或者找出这些客户中哪些客户可能是在线的购买者。
决策树算法是一种逼近离散值的函数算法,有点类似于布尔函数,通过输入数据得出结论(是、否)。
它是通过样本数据进行学习,从一组没有次序没有规则的数据中学习分类规则。
决策树的表现结构就像一个流程图的树结构,它的每一个非叶子节点表示元组数据在这个属性上的测试,分类树枝表示该属性值对应的输出,其中每一个非叶子节点都存放一个类标号。
决策树的根节点是测试数据样本中信息量最大的属性,而且由算法生成的决策树可以直接转化为决策规则。
决策树的主要优点就是描述简单,分类速度快,特别适合大规模的数据处理和高维度数据,构造决策树的时候不需要任何的业务领域知识或设置构造决策树的参数。
其次决策树具有很好的准确性,构造出来的知识形式非常直观,一目了然。
因此决策树算法广泛的用于许多领域的分类。
决策树分类算的一般分为两个步骤,决策树的生成和决策树剪枝。
决策树的基本组成部分:
决策节点、分支和叶子。
建立决策树的过程,即树的生长过程是不断的把数据进行切分的过程,每次切分对应一个问题,也对应着一个节点。
对每个切分都要求分成的组之间的“差异”最大。
决策树的基本原理是递归地将数据拆分成子集,以便每一个子集包含目标变量类似的状态,这些目标变量是可预测属性。
每一次对树进行拆分,都要评价所有的输入属性对可预测属性的影响。
当这个递归的过程结束时,决策树也就创建完了。
各种决策树算法之间的主要区别就是对这个“差异”衡量方式的区别,可以把切分看成是把一组数据分成几份,份与份之间尽量不同,而同一份内的数据尽量相同。
这个切分的过程也可称为数据的“纯化”。
如果经过一次切分后得到的分组,每个分组中的数据都属于同一个类别,显然达到这样效果的切分方法就是我们所追求的。
决策树算法与其他的数据挖掘算法相比有一些优势:
第一,与神经网络和贝叶斯分类器相比,决策树提供非常直观的描述,这种描述易于被吸收,转化为标准的数据库查询。
第二,训练神经网络模型时要花费大量的时间,要进行大量的重复操作,与之相比,决策树效率要高的多,适合于大的训练集。
第三,决策树生成算法除了训练集中包含的信息外,不需要附加的信息(即领域知识或类标签以前的分布情况).
第四,决策树有着可比的或更高的准确率。
但在实际中应用的决策树可能非常复杂。
例如利用样本数据建立了一个包含几百个属性、输出的类有十几种的决策树。
决策树算法与其他的数据挖掘算法相比有一些优势,比如,利用决策树可以快速创建挖掘模型,并且创建的模型也很容易解释。
每一条从根节点到叶节点的路径就是一条规则。
基于决策树的预测也非常高效。
对事例进行预测的过程是从根节点落到叶节点的路径,所选择的路径基于决策树中节点的拆分条件。
当某一事例落到一个叶节点时,这个事例的预测值就是基于存储在节点的统计值的。
2.4.3神经网络
神经网络是模拟神经系统运行的简单模型。
为区别于生物神经网络,一般称神经网络为人工神经网络(ArtificialNeuralNetwork,简记为ANN)。
它是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能行为的一种工程系统,并试图从微观上解决人类认知功能,以探索认知过程的微结构,并在网络层次上模拟人类的思维方式和组织形式。
神经网络的应用研究是近年来在神经网络研究中成果最多、最为引人注目的领域,在图像、语音、文字识别、天气预报、经济预测、管理决策、自动控制等领域都有大量的研究报告。
神经网络的优点主要是:
有良好的自组织、自学习和
自适应能力,面对复杂多变的外界系统,神经网络可以通过其良好的抗干扰能力,去掉冗余信息,掌握系统的内部规律,以自身结构表达的方式进行知识的推理。
ANN作为模拟人的智能和形象思维能力的一条重要途径和方法,在模式识别、信号处理、自动控制等领域的应用取得显著成效,并在非线性建模和非线性问题求解方面有着广阔的应用前景。
人工神经网络由于没有传统统计方法在构建模型时需要满足许多假设条件的要求,以及其在构建非线性模型的许多良好的性质,因此ANN主要用于非线性模型的研究。
神经网络的基本理论研究主要包括非线性动力系统动力学理论研究,神经网络的基本性能及能力研究等。
神经网络的算法按照网络结构可以分为四类,即反馈网络模型[22]、前向网络模型123]、随机网络模型及自组织网络模型[20]。
神经网络分类方法包含学习阶段和分类阶段两个过程。
在学习阶段,首先建立同时具有属性数据与实际类标号值训练数据集,然后通过对训练数据的学习,不断调整神经网络的权值,使得神经网络的输出能够正确地反映训练数据的类标号值。
在分类阶段,在训练好的神经网络中输入没有类标号的对象数据,由神经网络给出类标号的预测值。
按照学习方式,神经网络可分为两种:
一种是有指导的学习,也叫做监督学习。
在这种学习方式中,期望的输出是已知的,对网络的输出和期望的输出进行比较通过调整网络的权值,使得两者之差最小;另外一种是无指导学习,也叫做无监督学习,这时只规定学习方式或某些规则,网络按照这些规则自动调借权值或结构,使得网络最终具有模式分类等功能。
按照连接模式和信号传播的方向,神经网络可以分为前馈神经网络(feedforwardnetwork)、反馈网络(recurrentnetwork)[45]和自组织神经网络。
它通过合理的样本训练、学习专家的经验、模拟专家的行为,并通过引入非线性转换函数来求解各种复杂的非线性问题,从而使ANN具有很强的模式识别能力,可克服传统模式识别方法或一般算法在求解问题、处理数据时存在决策界面统计不出或不准确的现象。
神经网络由大量神经元互联而成的网络,它主要由“神经元”的互联,或按层组织的结点构成。
在神经网络中,知识与信息的存储表现为神经元之间分布式的物理联系。
它分散地表示和存储于整个网络内的各神经元及其连线上。
神经网络通过网络中各连接权值的改变,实现信息的处理和存储。
在神经网络中每个神经元既是信息的存储单元,又是信息的处理单元,信息的存储和处理合二为一,由这些神经元构成的网络在每个神经元的共同作用下,完成对输入模式的识别和记忆在对输入模式的识别和记忆过程中,各神经元之间的连接权值随着模式的输入而不断调整,把环境的统计率反映到神经网络本身的结构之中而保持下来,这样就达到了对输入模式的记忆。
人工神经网络同现行的计算机不同,是一种非线性的处理单元。
突破了传统的以线性处理为基础的数字电子计算机的局限,标志着人类智能信息处理能力和模拟人脑智能行为能力的一大飞跃。
2.4.4关联规则关联规则挖掘是目前的数据挖掘领域的一个十分活跃的研究方向。
最早在
90年代中期由A『awal等人首先提出,并在近年引起国际人工智能和数据库等领域学者的广泛关注。
关联规则反映的是数据间的定性关联关系。
目前已经提出的关联规则算法有多循环方式挖掘算法、增量更新算法、并行发现算法、多层关联规则挖掘、多值属性挖掘、基于约束的关联规则挖掘、基于粗糙集的关联规则挖掘等。
关联规则挖掘描述一个事物与其他事物之间的关联或相关。
数据库中的数据之间的复杂结构关联是社会生活中的某些事物的以表现。
关联规则就是通过挖掘数据库中各个数据之间的关系,从而找出现实生活中事物之间的关联。
而这些关联大部分是隐藏的,我们事先不知道的,通过机器分析数据库中的数据得到了,具有很大的商业价值。
广义的数据挖掘的本质就是关联规则分析,这种知识反映了数据之间的特殊关联。
数据属性之间不仅存在定性关联规则,也存在定量关联关系。
在解决了如何合理划分属性区间的问题的基础上,将定量管理规则转变为定性问题,并进而提出了挖掘定量关联规则的方法。
挖掘关联规则[1]的一个典型例子是购物篮分析。
通过发现顾客放入其购物篮中不同产品之间的联系,可以分析顾客的购买习惯,了解到哪些商品频繁地被顾客同时购买,从由帮助零售商制定营销策略。
有一个超市,每天的营业额非常大,
购买商品的人特别多。
某一天,营业经理突然发现,在柜台结帐的很多男士都同时购买了啤酒与尿布这两个看起来风马牛不相及的产品。
他对此非常感兴趣,进
行了仔细的市场调研后发现,很多女士有了小宝宝后都要在家休养,于是购买尿布的任务大多落在了丈夫身上。
男人们都比较喜欢喝啤酒,因此在购买尿布的同时常会购买一定量的啤酒。
因此,该经理决定改变货架的摆放方式,将啤酒与尿布的摆放位置靠近,果然这两样商品的销售量都大大提高。
同样地在频繁子图挖掘中,每个图G被看作是一个事务,每个子图可以看作一个项,使用类关联规则方法,挖掘图中的频繁项集,即频繁子图。
关联规则挖掘算法中有两种经典算法:
Apriori算法和FP-Growth算法。
给定项集I二{Ii,l2,…,lm},设任务相关的数据D是数据库事务的集合,其中每个事务T是项的集合,使得TI。
每个事务有一个标识符,称作TID。
设A是一个项集,事务T包含A当且仅当AT。
关联规则是形如A=B的蕴涵式,其中AI,BI,并且AB=o
关联规则的两个通用衡量指标是支持度和置信度。
关联规则A=B在事务集D中成立,具有支持度s,其中s是D中事务包含AB(即A和B二者)的百分比,即概率P(AB)。
规则A=B在事务集D中具有置信度c,如果D中包含A的事务同时也包含B的百分比是c,它是条件概率P(B|A),即
support(A=B)=P(AUB)
confidence(A=B)=P(B|A)
如果A吕B在事务集D中满足最小支持度阈值(min_sup),则规则A=B成立;如果它同时满足最小支持度阈值(min_sup)和最小置信度阈值(min_conf),则它是强规则。
关联规则的挖掘任务就是要在给定的数据库D中找出同时满足给
定支持度阈值和置信度阈值的旨关联规则。
后文中提到的关联规则都是指强关联
规则。
为了方便计算,我们用0%和100%之间的值而不是用0~1.0之间的值表示支持度和置信度。
关联规则挖掘分为两个步骤:
步骤1.找出所有频繁项集:
根据关联规则的定义,找出那些支持度不小于给定阈值的项集。
步骤2.由频繁项集产生强关联规则:
根据关联规则定义产生的规则必须满足最小的要求,但还必须满足置信度。
这些规则必须满足最小支持度和最小置信度。
而置信度可以表示如下:
confidence(A=B)=P(B|A)=雹蔦豐羔罗
其中,support_count()表示绝对支持度。
根据卡式,步骤2按如下方法产
生关联规则:
1.对于每个频繁项集I,产生l所有的非空子集s。
2.对于每个s,如果support_count(l)启min_conf,则输出规则sn(I_s)。
support_count(s)一
由此可见,步骤2简单,且依赖于步骤1,所以关联规则挖掘算法关键在于寻找频繁项集。
另外在挖掘关联规则的过程中,人们可以附加另外的兴趣度度量,以增加关联规则对问题的适用性。
Apriori算法⑻是最有影响力的挖掘布尔关联规则频繁项集的算法。
算法的名
字基于这样的事实:
算法使用频繁项集性质的先验知识,正如我们将看到的。
Apriori使用一种称作逐层搜索的迭代方法,k-项集用于搜索(k1)-项集。
首先,找出频繁1-项集的集合。
该集合记作Li。
Li用于寻找频繁2-项集的集合L2,而L2用于寻找L3,如此下去,直到不能找到频繁k-项集。
该算法每找一次Lk需要一次数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 数据 挖掘 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)