数据分析与挖掘

2024-07-25

数据分析与挖掘(精选11篇)

数据分析与挖掘 第1篇

随着网络信息资源的急剧增长,它容纳了海量的各类型的原始信息,人们越来越多地关注如何开发和利用这些资源。由于Web本身的特性,Web上的信息查找比传统的信息查找表现出更大的挑战性。信息检索界开发了许多搜索,但其覆盖率有限,精度低;另外不具有个性化服务的特点。解决这些问题的一个途径,就是将传统的数据挖掘技术和Web结合起来,进行Web数据挖掘。

近年来,数据挖掘技术经过不断发展,已经成为一个涉及多个学科的交叉型综合学科。通常而言,经典的数据挖掘算法都可以直接用到Web数据挖掘上来,但为了提高挖掘质量,要在扩展算法上进行了研究,包括复合关联规则算法、改进的序列发现算法等。

2. Web数据挖掘的概念

Web Mining(Web挖掘)是由Oren Etzioni在1996年首先提出的,一般地对Web数据挖掘做如下定义:从大量Web文档结构和使用的集合C中发现隐含的模式p。如果将C看作输入,p看作输出,那么挖掘的过程就是从输入到输出的一个映射:ξ:C→p。

3. Web数据挖掘的基本步骤

Web数据挖掘过程是一个完整的知识发现的过程,但与传统数据和数据仓库相比,Web上的信息是非结构化或半结构化的、动态的,并且是容易造成混淆的,所以很难直接以Web网页上的数据进行数据挖掘,而必须经过必要的数据处理。因此可以将Web数据挖掘分为确定业务对象、数据准备、数据挖掘、结果分析等四个步骤。

4. Web数据挖掘分类

一般地,Web数据挖掘可以分为三类:Web内容挖掘、Web结构挖掘、Web使用记录的挖掘。如图1所示:

4.1 Web内容挖掘

Web内容挖掘是从大量的Web数据中发现信息、抽取有用知识的过程。Web内容挖掘有两种策略:直接挖掘文件内容和在其它工具搜索的基础上进行改进。就其挖掘内容而言,可分为Web本文档和多媒体文档。就其方法而言,Web内容挖掘可分为信息查询方法和数据库方法两大类。

4.2 Web结构挖掘

Web结构挖掘的对象是Web本身的超连接,即对Web文档的结构进行挖掘。Web可以看成一个以网页为节点、链接为边的图结构,超链接反映了网页间的包含、引用或从属关系。Web结构挖掘是从WWW的组织结构和链接关系中推导知识,主要的方法有Page Rank和CLEVER。Web结构挖掘是挖掘Web潜在的链接结构模式。在Web结构挖掘领域最著名的算法是HITS算法和Page Rank算法。它们的共同点是使用一定方法计算Web页面之间超连接的质量,从而得到页面的权重。

4.3 Web使用记录挖掘

Web使用记录挖掘是对用户访问Web时在服务器方留下的访问记录进行挖掘;Web使用挖掘过程,简单地讲分四个阶段:源数据的收集、数据的预处理、数据挖掘和对挖掘出来的模式进行分析,如图2示。

5. Web数据挖掘技术实现

Web数据挖掘中常用的技术通常可以分为两类:一类是建立一种以机器学习为主的人工智能模型,采用的方法有神经网络、自然法则计算方法和Web特有的路径分析技术等。另一类是是建立在统计模型的基础上,采用的技术有决策树、分类、聚类、关联规则等。

5.1 路径分析技术

用路径分析技术进行Web数据挖掘时,最常用的是图。Web用一个有向图来表示,G=(V,E),其中:V是页面的集合,E是页面之间的超链接集合,页面定义为图中的顶点,而页面间的超链接定义为图中的有向边。顶点v的入边表示对v的引用,出边表示v引用了其它的页面,这样形成网站结构图,从图中确定最频繁的访问路径。最优路径分析就是在指定的点之间查找出符合某种量度最小的路径,Dijkstra算法是广泛采用的一种求解方法,其基本思路是由近及远寻找起点到其它所有结点的最佳路径,直至到达目标结点。

5.2 关联规则挖掘技术

关联规则挖掘技术主要用于从用户访问序列数据库的序列项中挖掘出相关的规则,就是要挖掘出用户在一个访问期间(Session),从服务器上访问的页面/文件之间的联系,这些页面之间可能并不存在直接的参引(Reference)关系。最常用的是用Aprior算法,从事务数据库中挖掘出最大频繁访问项集,这个项集就是关联规则挖掘出来的用户访问模式。

5.3 序列模式挖掘技术

序列模式挖掘技术就是要挖掘出交易集之间的有时间序列的模式。经过数据净化和交易确定后是一个间断的时间序列,这些序列所反映的用户行为有助于商家印证其产品所处的生命周期阶段。另外挖掘出来的一些暂时性的序列模式,可以分析企业战略实施或网站、产品的促销的效果。例如序列模式B,D(B,D表示页面)显示,有80%的用户访问了页面B之后在1.2个小时之内又访问了页面D。在一个电子商务网站中,B和D分别代表用户的在线订购,也就是说80%以上的用户在订购了物品B之后的1.2个小时内又在线订购了物品D。

5.4 分类、聚类技术

分类规则可以挖掘出某些共同的特性,这个特性可以用来对新添到数据库里的数据项进行分类。在Web数据挖掘中,分类技术可以根据访问这些用户而得到的个人信息或共同的访问模式,得出访问某一服务器文件的用户特征。聚类技术则是对符合某一访问规律特征的用户进行用户特征挖掘。

6. Web数据挖掘算法

通常来讲,经典的数据挖掘算法都可以直接用到Web数据挖掘上来,但为了提高挖掘质量,研究人员在扩展算法上进行了努力,包括复合关联规则算法、改进的序列发现算法等。

6.1 关联规则算法

在已有的关联规则发现算法中,最著名的是Agrawal等人于1993年提出的Apriori算法[8,9]。Aprioiri算法使用逐层搜索的迭代方法。通过对数据库D的多次扫描来发现所有的频繁项集,在每一次扫描中只考虑具有同一长度(即项集中所含项目的个数)的所有项集。在第一次扫描中Apriori算法计算D中所有单个项目的支持度,生成所有长度为1的频繁项集。

在后续的每一次扫描中,首先以第k-1次扫描所生成的所有频繁项集为基础产生新的候选项集,然后扫描数据库D,计算这些候选项集的支持度,删除其支持度低于用户给定的最小支持度的项集。最后,生成所有长度为k的频繁项集,重复上述过程直到再也发现不了新的频繁项集为止。具体步骤如下:

Step1:为找Lk,通过Lk-1与自己连接产生候选k-项目集的集合。该候选项的集合记做Ck。

Step2:Ck的成员可以是也可以不是频繁的,但所有的频繁k-项目集都包含在Ck中。扫描数据库,确定Ck中每个候选集计数(设置一个标志位Flag),进而确定Lk。

6.2 改进Apriori算法

6.2.1 基本概念

定义1:页面访问事务数据库D={t1,t2,…,tk,…,tn},tk={i1,i2,…,im,…,ip},I={i1,i2,…,im}是D中全体项目组成的集合,I的任何子集X称为I中的项目集(Itemset),|X|=k称集合X为k项目集,tk(k=1,2,…,n)称为事务,im(m=1,2,…,p)称为项目(Item)。

定义2:设X哿I,项目集在数据集D上的支持度(support)是包含X的事务在D中所占的百分比,即support(X)=||{x∈D|X哿I}|/||D||,其中|D|是数据集D的事务数,若support(X)不小于用户指定的最小支持度(minsupport),则称X为频繁项目集,简称频集(或大项目集),否则称X为非频繁项目集,简称非频集(小项目集)。

性质1:一个非频繁(k-1)-项集不可能成为频繁k-项集的一个子集。

6.2.2 网页频繁集的产生

Apriori算法用于网页链接关系的发现中,则Apriori算法中的事务对应于用户的一次访问活动,数据集对应于网页页面集。通过应用Apriori算法来找到网页页面的链接关系。但直接应用Apriori算法挖掘网页结构的频繁集非常庞大,特别是发现频繁集在最坏情况下可达指数级,使得难以应用到现实的页面关系挖掘中。

根据网站结构的特点:网页之间的超链接存在于两个网页之间的,所以对于网页之间的频繁集,只要发现频繁2-项集即可,网页超链接的Apriori改进算法NApriori算法,使得频繁集的挖掘减少,时间复杂度为O(n(n-1))=n2。这样,关联规则算法即可满足任务的需要,又可降低算法的复杂度。

算法1:NApriori算法

6.2.3 候选集的产生

为了找到频繁出现的网页页面集,采用Apriori候选集产生函数apriori-gen。首先,在连接步骤:为找Lk,Lk-1通过与自己连接产生候选k-项集的集合。该候选项集的集合记作Ck。设l1和l2是Lk-1中的项集,把Lk-1和Lk-1相连以获得候选的最终集合的一个超集Ck:

算法2:apriori-gen(Lk-1)(网页候选集产生)

在修剪步骤,将删除所有的项目集c∈Ck,如果c的一些(k-1)子集不在Lk-1中。如果用所有可能的项目扩充Lk-1中的每个项目集,然后删除所有(k-1)子集不在Lk-1中的项目集,那么就能得到Lk中项目集的一个超集。上面的合并运算相当于用数据库中的所有项目来扩展Lk-1,根据性质1如果删除扩展项目集的k-1个项目后得到的k-1项目集不在Lk-1中,则删除该扩展项目集。

算法3:判断候选集的元素

7. 总结

本文对Web挖掘的内容、挖掘的步骤、挖掘的技术等方面进行了分析和研究;另外本文对关联规则算法及其改进算法进行了分析探讨;把Apriori算法用于网站结构的优化中时,通过分析网站超链接结构及其关联规则,发现超链接是建立在两个网页之间的,提出发现网站频繁集只需发现网站2-频繁集即可。针对此结构特征,对真实数据集进行清理,减少了数据集的复杂性;提出的NApriori算法极大程度地缩减了网站频繁集的发现规模,从而显著地减小其运算时间复杂度。

参考文献

[1]王玉珍.Web数据挖掘的分析与探索[J].电脑开发与应用,2003(4):73-74.

[2]张娥,冯秋红,宣慧玉.Web使用模式研究中的数据挖掘[J].计算机应用研究,2001,18(3):80-83.

[3]Pang-Ning Tan,Michael Steinbach.Vipin Kumar.数据挖掘导论[M].北京:人民邮电出版社,2006.

[4]Margaret H Dunham.数据挖掘教程[M].北京:清华大学出版社,2005.12~18.

[5]陈慧萍,王建东,王煜.频繁项集挖掘的研究与进展[J].计算机仿真,2006,23(4):68-73.

[6]Arasu KT,de Launey W.Two-dimensional perfect quaternaryarrays[J].IEEE Trans Inform Theory,2001,47(4):1482-1493.

[7]Wei Daxiu,Luo Jun,Sun Xianping,et a1.NMR experimental realization of seven-qubit D-J algorithm and controlled phase-shift gates with improved precision[J].Chinese Science Bulletin,2003,48(3):239.

[8]涂承胜.Web挖掘研究综述[J].计算机工程与应用,2003(10):91-93.

大数据崛起与数据挖掘分析论文 第2篇

4结语

当今社会是知识、数据爆炸的时代,大数据知识和技术的快速发展改变了人们原有的生活和工作方式。其被广泛应用于市场营销、工业制造、科学研究、教育领域、医学领域、通讯行业以及网络技术应用等多个领域,有效推动了社会经济的快速发展。而大数据的崛起与数据挖掘技术又有着密切的联系,数据挖掘技术的快速发展使得大数据能够为人们提供实用和高效的数据信息服务,从而使人们在生活和工作中,能够利用数据变化的规律或事物数据之间的联系,研究出其未来的发展趋势,从而作出正确的决策,因此数据挖掘技术能有效提高人们的生产、制造水平和效率,并且能为人类企业生产的决策提供科学、合理的数据依据,使得人类的各项活动能够安全、快速开展[8]。

参考文献

[1]卢建昌,樊围国.大数据时代下数据挖掘技术在电力企业中的应用[J].广东电力,(9):88-94.

[2]马遥.计算机数据挖掘技术在CBA联赛中的应用理论研究[D].郑州:郑州大学,2014.

[3]曹莉.刍议大数据时代的数据挖掘与精细管理[J].经营管理者,(18):191-192.

[4]李平荣.大数据时代的数据挖掘技术与应用[J].重庆三峡学院学报,2014(3):145-147.

[5]韩英.浅析大数据时代的数据挖掘与精细管理[J].成都航空职业技术学院学报,2013,29(4):63-71.

[6]丁岩,杨庆平,钱煜明,等.基于云计算的数据挖掘平台架构及其关键技术研究[J].中兴通讯技术,2013,19(1):53-56,60.

[7]赵倩倩,程国建,冀乾宇,等.大数据崛起与数据挖掘刍议[J].电脑知识与技术,2014(33):7831-7833.

浅析数据融合与数据挖掘 第3篇

【关键词】数据融合,数据挖掘,知识发现

【中图分类号】 C37【文献标识码】A【文章编号】1672-5158(2013)07-0172-01

在信息时代,信息量的爆炸式增长使得信息的获取、传输、存储、转换等信息处理技术得到了长足进步。数据融合与数据挖掘作为信息处理技术两大分支在这一过程中萌生,并得到了人们的重视和研究。

数据融合源于传感器技术的发展,是帮助人们处理复杂多变的外部环境产生的信息,评估环境状态和目标信息,对战局和威胁的提供全面和及时的信息处理技术。数据挖掘用以帮助人们从积累的“过量信息”中,撷取事先未知的潜在有用的信息和知识的信息处理技术。

一、网络故障管理系统中应用

随着网络应用的发展,网络规模以及网络的数量得到了蓬勃发展。为了更好的对网络进行有效的管理,及时排除网络故障,让网络持续稳定地运行将数据融合作为,网络故障的管理也就有着突出的重要性。

将数据融合作为数据挖掘的数据准备阶段,在网络故障管理方面,二者合理的结合使用,利用数据融合技术分析网络运行中产生的状态数据,处理结果形成数据集,在这个数据集的基础上利用数据挖掘技术,获得安全规则,发现异常,判断网络故障。系统结构如图所示。

① 数据融合模块

网络故障管理系统中数据融合模块是对网络中多处来源的数据进行处理和组合,从而产生新的有意义的信息。这里的多处来源的数据是指网络运行中产生的描述网络运行的状态信息。

网络管理中的数据具有多源性、分布性、异构性的特点,它们主要来自网络的数据、系统日志、网络管理查询信息等。而另一方面,目前数据挖

掘一般对象是静态的数据集,解决这些矛盾的方法是数据挖掘和数据融合技术集成。

网络故障信息中的告警数据是含噪声的、并且大量都是重复的。主要包括告警丢失、错乱、延迟以及重复告警、误告警等方面。利用数据融合的关联技术,根据数据之间的相似性,将来源数据进行处理,以减少重复数据的数量。

② 数据挖掘模块

在网络管理的数据挖掘中,关联规则和序列模式是最常见的挖掘知识,二者挖掘知识的角度不同。关联规则是从网络告警信息中发现告警与告警之间、告警与故障之间、告警与业务之间的相关性,即在一个告警信息发生之后,另一个告警、故障、业务发生的可能性。而序列模式把告警信息序列看作以时间为主线的有序序列,在一定的时间间隔内挖掘知识,注重告警信息的时间性。

在数据挖掘阶段,网络的管理者必须对系统设置相应的参数,这些参数用于描述网络的运行状态。例如当某项低于或者高于某一值时,认为网络该方面产生故障。并且根据值的大小,采取不同的措施,发出告警信息或者仅写入日志。有时还要根据参数值的时间变化,分析故障产生的概率。对于不同的参数,挖掘算法得出的结果和提示都不尽相同,因此系统的性能对人工干预的程度有着依赖性。

二、应用分析

在网络管理系统应用中,数据融合模块与数据挖掘模块处于串联处理关系,两者位置不能够颠倒,首先由数据融合模块对来源数据进行数据处理,形成相应的数据集,提供给数据挖掘模块使用、分析。

参考文献

[1] 习慧丹.数据挖掘研究综述.电脑与信息技术,2012(1)

[2] 王惠中,彭安群.数据挖掘研究现状及发展趋势.工矿自动化,2011(2)

数据分析与挖掘 第4篇

关键词:数据挖掘,关联规则,典型关联,Apriori算法

1 数据挖掘技术

1.1 数据挖掘概念

从数据挖掘的本质上说它是一种具有更高商业价值的新型信息处理技术, 数据挖掘技术的作用是对数据的应用来说的, 其目的是使人们从低层次的联机查询过渡到对数据决策支持分析预测上, 从而成为更高层次的应用。

1.2 数据挖掘技术的分类

关于数据挖掘针对其挖掘的对象, 大致的可以做出以下分类, 具体分为时态数据库、异质数据库、文本数据源、关系数据库面向对象数据库 (Object-Oriented Database) 、空间数据库、遗产数据库、多媒体数据库以及web等比较具有针对性的挖掘对象。针对数据挖掘的方法大致的可以归纳为:计算机学习法、数理统计法、信息聚类分析法、遗传算法Genetic Algorithm、神经网络Neural Network探索性分析法、不确定性推理和近似推理法、数据分析法、证据理论和元模式法、数据集成方法、当代数学分析法等。

根据数据挖掘技术的知识类型可以分为:广义范围的知识挖掘、差异范围的知识挖掘、关联范围的知识挖掘、预测范围的知识挖掘等。

1.3 数据挖掘的应用分析

根据麻省理工学院内部数据整理其科技评论杂志对数据挖掘技术的应用分析提出了10大新兴的科学技术数据挖掘能够在未来5年对人类的产生生活带来重大影响。根据种种数据分析所表明的问题我们不难发现数据挖掘技术面向实际应用方面不是一时的, 随着时代的发展社会信息化进程不断加剧各行业的业务操作也随之逐渐向现代化流程转变, 这一转变促使企业在处理业务时产生大量的业务信息数据。对于一般地企业内部的业务信息数据来说, 其主要是由企业进行商业运作而产生的数据, 这些数据的量一般比较少。这是都是企业为了获得市场分析而进行收集的, 关于此类的数据挖掘的应用终将成为企业进行高层次数据分析, 为行政决策提供技术支持的骨干技术。

2 关联规则挖掘理论的研究

2.1 发现频繁项目集

该技术可以通过用户给定的minsupport寻找所有与用户给定的频繁项目集Frequent Itemset即满足support不小于minsupport的项目集。但是从实际出发不难看出, 诸如此类的频繁项目集从某种意义上来讲具有互相包含的关系, 因而我们一般只关心那些不被数据挖掘所包含的所谓频繁大项集Frequent Large Itemset的集合, 对于这些频繁大项集来说它们只是促使关联规则形成的基础。

2.2 生成关联规则

通过用户给定的 (minconfidence) 在每个最大频繁项目, 项目集中寻找confidence不小于minconfidence的关联规则。近年来关联规则挖掘算法研究的重点, 比较流行的方法是基于Agrawal等人建立的项目集格空间理论。这个理论的核心是这样的原理, 频繁项目集的子集是频繁项目集, 非频繁项目集的超集是非频繁项目集。对于子问题2而言, 也许在每个频繁大项集中逐一匹配规则并进行。Confidence I1→I2≥minconfidence的测试是必需的, 因此这部分工作相对比较成熟。为了完善了一个称为Apriori的关联规则挖掘法这个算法一直作为经典的关联规则挖掘算法被引用, 随着数据库容量的增大重复访问数据库, 外存将导致性能低下, 因此探索新的理论和算法来减少数据库的扫描次数和侯选集空间占用已经成为近年来关联规则挖掘研究的热点之一。

3 时态约束关联规则挖掘问题及算法

3.1 聚焦挖掘任务, 提高挖掘效率

数据挖掘理论最初的研究侧重点是模型的建立以及算法的设计。随着应用于不同的场合, 得出的结果证明单纯而又孤立的挖掘工具效果并不理想。传统的数据挖掘项目中, 会进行详尽而反复的调研分析, 并根据用户的需求制定细致的任务计划, 最终的结果却并不理想, 不能得到想要的结果。在算法中, 如果想要得到用户的挖掘目标, 除了算法之外, 还需要有特定的实现机制, 使得我们的挖掘计划能够转变成对一个系统工作的控制, 这样才能使得挖掘项目能有期望的结果。这样的约束, 不需要局限于某一个挖掘数据的阶段, 在任何阶段都可以实现。而这样的算法机制, 也是交互式数据挖掘算法的基本形式, 通过这样的过程, 来达到更好以及快速地完成挖掘任务。

3.2 保证挖掘的精确性

从数据挖掘的算法也可以看出, 结果具有不可预测性, 而正因此, 对于算法运行的过程中, 遇到的问题也是难以把握的, 所以算法还需要加上反馈机制, 通过这样的反馈, 来进行验证结果并修正算法中的数据, 如果这个过程中, 挖掘到的数据是正确的, 但也未必是用户所侧重的, 所以数据挖掘的结果不仅要具有逻辑上的正确性, 还要能够满足用户的主管偏好;也就是既要准确, 还要可信且符合用户需求。而约束就是这样实现的, 通过约束发现算法中的问题并及时校正算法, 以最终能够满足各项需求。

4 数据分割下的挖掘问题及算法

对于理论基础比较成熟的算法——Apriori算法, 研究的侧重点已经变为效率问题, 人们也提出了各种的改进算法, 本文选区几种比较有代表性的加以介绍。

4.1 减少事务的个数

这样的原理在于, 当需要处理的事务不包含长度为k的大项集, 那么也一定不包含长度为k+1的大项集。在算法处理的过程中, 就可以将这样的事务滤去, 在下轮扫描过程中, 就可以不需要那么多的事务集。

4.2 基于划分的方法

这类算法的比较典型的是频繁项目生成算法, 该算法原理在于:把数据库分解成逻辑上互不交叉的部分, 而每次只需要单独考虑一个分块, 在这样的分块中, 研究怎样能够发掘频繁项目集;而对于怎样将数据进入存储中, 可以把需要处理的分块放入计算机内存中, 这样有利于算法的并行处理, 数据量相对于不分块前减少, 提高了数据挖掘的速度。

4.3 基于hash的方法

在上述的发现频繁项目集的算法中, 有人提出了改进算法, 基于杂 (hash) 技术产生频繁项目集。而这也是他们在实验基础上提出的, 因为实验中, 他们发现频繁项目集的产生过程中, 计算量主要集中在2-频繁项目集上, 他们通过杂凑技术来对这个问题加以解决, 把需要扫描的项目分发于不同的Hash桶, 而对于每对项目来说, 最多只可能在一个特定的桶内, 然后通过实验分析, 可以有效地降低了候选集的产生。当然同样适用于k-频繁项目集生成上。

4.4 基于采样的方法

基于抽样技术的产生频繁项目集的算法的原理在于:通过对数据库进行抽样, 产生一些可能成立的规则, 然后通过数据库的未被抽样数据, 进行检验, 这些关联规则是否是否有效。其实这个算法本身相对比较容易实现, 并且能够极大地减少数据挖掘过程中所付出的I/O代价, 而不利的地方在于, 抽样数据的随机性以及由此带来的结果的偏差比较大。抽样原理是统计学常用方法, 虽然其得到的结果精确性可能并不尽人意;如果能被运用恰当的话, 可以在精度符合要求的情况下使得挖掘效率大大地提高。

参考文献

[1]毛国君.数据挖掘技术与关联规则挖掘算法研究[D].北京工业大学, 2003.

[2]刘君强.海量数据挖掘技术研究[D].浙江大学, 2003.

[3]郭秀娟.基于关联规则数据挖掘算法的研究[D].吉林大学, 2004.

[4]王琼.基于树的关联规则挖掘算法研究[D].河南大学, 2013.

[5]王枭翔.基于相关兴趣度的关联规则挖掘[D].兰州交通大学, 2013.

数据挖掘与数据仓库--教学大纲 第5篇

Data mining and data warehouse

课程编码:05405140 学分: 2.5 课程类别: 专业方向课 计划学时: 48 其中讲课:32 实验或实践: 上机:16 适用专业:信息管理与信息系统、电子商务 推荐教材:

陈文伟,数据仓库与数据挖掘教程,清华大学出版社,2008 参考书目:

1.Richard J.Roiger, Michael W.Geatz.Data Mining: A Tutorial-Based Primer.2003.2.Ian H.Witten, Eibe Frank.Data Mining: Practical Machine Learning Tools and Techniques(第二版).机械工业出版社(影印版),2005.3.Jiawei Han, Micheline Kamber.Data Mining: Concepts and Techniques.2001.5.4.数据仓库与数据挖掘技术(第2版),陈京民 编著,电子工业出版社,2007.11 5.数据仓库和数据挖掘,苏新宁 等编著,清华大学出版社,2006.4 6.数据挖掘Clementine应用实务,谢邦昌 主编,机械工业出版社,2008.4

课程的教学目的与任务

本课程将系统介绍数据挖掘的基本概念、基本原理和应用基础,通过课堂讲授、实例分析,提高学生数据挖掘技术的认识,熟悉基本工具应用,并掌握设计和开发数据挖掘算法和系统的初步能力。

课程的基本要求

1、了解数据仓库及数据挖掘的概念、特征、应用范围,以及主要数据挖掘工具

2、了解OLTP 和 OLAP的区别;熟悉OLAP 的体系结构,以及如何评价OLAP工具;掌握多维分析的基本分析动作。

3、了解数据质量,掌握数据预处理方法,4、掌握数据挖掘的定性归纳技术、关联挖掘、聚类分析、分类方法、预测方法、文本挖掘、WEB挖掘

5、熟练掌握数据挖掘软件Clementine在各类挖掘任务中的应用。各章节授课内容、教学方法及学时分配建议(含课内实验)

第一章.数据仓库与数据挖掘概述 建议学时:2 [教学目的与要求] 了解数据仓库及数据挖掘的概念、特征、应用范围,以及主要数据挖掘工具。[教学重点与难点] 数据仓库及数据挖掘的概念

[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 1.1 为什么要数据挖掘 1.2 数据挖掘的应用示例 1.3 数据挖掘方法简介

1.4 数据挖掘与其他学科的关系 1.5 商务智能的三大块 1.6 常用数据挖掘工具简介

第二章 数据仓库技术

建议学时:4 [教学目的与要求] 了解数据仓库的概念,区分与传统数据库技术的不同;掌握数据仓库存储的抽取、转换和装载

[教学重点与难点] 数据仓库存储的抽取、转换和装载;数据仓库存储的数据模型 [授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 2.1 数据仓库的概念

2.2 数据仓库存储的数据模型 2.3 数据仓库的体系结构

2.4 数据仓库应用的抽取、转换和装载

第三章 数据仓库开发模型

建议学时:4 [教学目的与要求] 了解数据仓库开发模型的概念,了解数据仓库开发过程,掌握数据仓库三种概念模型:星型模式、雪花模式、或事实星座模式,掌握数据粒度概念,元数据概念。

[教学重点与难点] 数据仓库三种概念模型,数据粒度概念,元数据概念 [授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 3.1 数据仓库开发模型的概念

3.2 数据仓库的概念模型 3.3 数据仓库的逻辑模型 3.4 数据仓库的物理模型 3.5 数据仓库的生成

3.6 数据仓库的使用和维护

3.7 数据仓库的粒度、聚集和分割 3.8 元数据

第四章 联机分析处理(OLAP)技术 建议学时:4 [教学目的与要求] 了解OLTP 和 OLAP的区别;熟悉OLAP 的体系结构,以及如何评价OLAP工具;掌握多维分析的基本分析动作。[教学重点与难点] OLAP 的体系结构;多维分析的基本分析动作 [授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 4.1 从OLTP 到 OLAP 4.2 OLAP 的基本概念

4.3 多维分析的基本分析动作 4.4 OLAP 的数据组织 4.5 OLAP 的体系结构 4.6 OLAP 工具及评价

4.7 Codd 关于 OLAP 产品的十二条评价准则

第五章 数据挖掘的原理与技术 建议学时:4 [教学目的与要求] 了解为什么要数据挖掘、数据挖掘与其他学科的关系,熟悉常用数据挖掘方法和工具,掌握数据挖掘的原理与技术。

[教学重点与难点] 数据挖掘的原理与技术,数据挖掘与其他学科的关系 [授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 5.1 知识发现的过程

5.2 数据挖掘的方法和技术 5.3 数据挖掘的知识表示

第六章 数据的获取和管理 建议学时:4 [教学目的与要求] 了解数据的数据获取和管理,掌握数据质量的多维度量,掌握数据预处理方法 [教学重点与难点] 数据质量,数据预处理方法

[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 6.1 数据仓库的数据获取 6.2 数据管理 6.3 系统管理 6.4 数据的预处理

6.5 数据质量的多维度量 6.6 数据预处理的主要方法

第七章 定性归纳

建议学时:2 [教学目的与要求] 了解数据挖掘的定性归纳技术,掌握ID3算法、C5.0算法。[教学重点与难点] ID3算法、C5.0算法

[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 7.1 基本概念 7.2 数据泛化 7.3 属性相关分析 7.4 挖掘概念对比描述

7.5 挖掘大数据库的描述型统计信息

第八章 关联挖掘

建议学时:2 [教学目的与要求] 了解关联挖掘和的方法,掌握Apriori算法 [教学重点与难点] Apriori算法

[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 8.1 基本概念

8.2 单维布尔逻辑关联规则挖掘 8.3 多层关联规则挖掘 8.4 多维关联规则挖掘

8.5 关联规则聚类系统(ARCS)8.6 关联规则其它内容

第九章

聚类分析

建议学时:2 [教学目的与要求] 了解什么是聚类分析、聚类和分类的区别,掌握聚类分析的算法。[教学重点与难点] 聚类分析的算法

[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 9.1 什么是聚类分析

9.2 聚类分析中的数据类型 9.3 主要聚类算法的分类

第十章 分类 建议学时:2 [教学目的与要求] 了解什么是数据挖掘的分类,掌握KNN(K-Nearest Neighbor)分类和Bayes分类 [教学重点与难点] KNN(K-Nearest Neighbor)分类和Bayes分类 [授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 10.1 10.2 10.3 10.4 10.5

第十一章 预测 建议学时:2 [教学目的与要求] 了解预测算法,掌握回归预测、广义线性GenLin模型预测、支持向量机预测 [教学重点与难点] 回归预测、广义线性GenLin模型预测、支持向量机预测 [授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 11.1 11.2 预测的基本知识 预测的数据准备 分类的基本知识 决策树分类 支持向量机分类

KNN(K-Nearest Neighbor)分类 Bayes分类 11.3 11.4 11.5 11.6

预测的主要方法 回归预测

广义线性GenLin模型预测 支持向量机预测

谈数据仓库与数据挖掘教学研究 第6篇

关键词:数据仓库 数据挖掘 进展

中图分类号:TP311.13文献标识码:A文章编号:1673-9795(2012)10(a)-0179-01

随着社会的发展,数据仓库与数据挖掘研究行业也越来越成熟,数据库技术的应用也得到不断推广和深入,该行业的中心点已由原来的事务处理逐渐转换、趋向现在的分析处理,以数据仓库为基础,在形成的一系列新技术里,其核心就是联机分析系统的研发和数据挖掘技术的深入。这些技术目前已经逐步投入到实际使用中。关于这些技术的研发与探讨工作也成为该领域研究的热门话题。

1 数据仓库系统

各种数据源的类型多种多样,其中包括各种关系数据库的管理系统、文件系统等,当然,有事也含有WEB上数据,这些数据在质量上、各有各的特点,多种多样,在数据模式的设计上也是千差万别,在各自专一的项目上也是独树一帜,各领风骚,导致这些不同原因主要是数据来源的不统一。这就给在数据集成过程中造成很多不便,所以,现在在数据集成过程中是主要难点就体现在数据模式设计、数据的清洗、数据转换、导人、更新等方法,截止目前數据仓库系统的研究工作也重点关注和投入在这些方面。

现在我们再来谈一下数据清洗的问题。在数据清洗工作中,是否能够准确、高效的发现重复数据并予以删除是该项工作的重要问题。因为数据源的多种多样,这就不可避免的出现很多相同重复的数据,也就是复本,同时,各个数据源的质量也是千差万别,由于录入的的方法不同,如拼写错误,活着录入者的一些不一致的微小习惯造成的细微差别,被人客观的误认为是不同的数据。为了提高整个数据库的质量,就需要将这些重复的数据找出来并进行逐个删除,以保证数据的可靠性。寻找数据库中的重复数据需要合理高效的方法,当前主要参考采用一些标准文本相似性的匹配方法及,就像编辑距离等。但这些方法却不能解决一些特殊的问题,如语义上的相似性判定问题等。为了寻找解决这个问题的办法,经过努力,相关学者就数据仓库中的唯表方面研究并提出了一种高效、新型的寻找方法,这种除了通过参考数据间字符串后呈现出的相似程度来判断这两个元组对象是否有相同的特点,还利用维表中提供的数据含有的的层次关系,再从语义上对比出所要判断数据的相似程度。

在数据集成中,数据源的数据是多种多样的,一般分为:关系数据库、XML半结构化数据等,因此,这些不同的数据源中的数据在在访问方式是也不尽相同,也有些数据访问应用系统接口,数据模式在设计中也显得不同。要将这些不同的数据装入数据库,且保证数据中所含有的信息不丢失,即保证模式的匹配、模式中语义的一致,就成了一项重要的研究目标。目前我们大多数使用的方式为把要用到的数据源中的数据转换成特定的中间形式,就像统一模式的XML文本那样,然后再将数据装入数据仓库。

2 联机分析技术

数据仓库与数据挖掘研究行业要想得到更深入的发展联机分析技术是非常关键的一项。在数据仓库映众中,出现越来越多的大量的聚集操作,联机分析就是在这样的条件下诞生的一项新技术。联机分析技术分为两个类型:一类是根据关系数据库系统形成的练级分析系,俗称ROLAP,它的基本原理就是使数据仓库里面的数据能够进行合理组合,可以直接迅速的通过关系条件查询信息,使联机分析系统能够拥有下钻、上翻、分片、分块等功能。当前我们所用到的关系数据库管理系统均拥有信息查询功能。另一类是根据多维模型形成的联机分析系统,俗称MOLAP,它的基本原理是多维数组宴珊联机分析系统,常用于怎样减少存储空间等方面的问题研究,以此来提高该系统在查询方面的性能。这两类联机分析系统这些年都有独特的论述见解以论文方式出现在各种刊物上。与之同步进行的是OLAP系统在应用方面的大力推广,使相关学者对在OLAP系统中的体系结构一类问题的探讨也发生了的兴趣,还有一些学者就集群结构方面的OLAP系统研发了一种对数据在实时过程中敏感的中间件的系统。能够使系统查询更加准确、一致,也能够全面提高集群系统的性能发挥的效率。

截止目前,我们队ROLAP实现的技术方面已经研究了很长一段时间,通常在增强ROLAP的执行效率的手段主要表现在两方面:一个是使用物化视图效果的原理,它的做法是把用户可能用到的信息查询提前总结好,这样我们的用户在实施查询时,从已经完成的数据、视图来入手,就能够很快的得到需要查询的最终结果。在这里面,最重要的问题就是如何选择物化视图和实现的查询。另一个方面就是以OLAP查询种用到的的索引结构为研究参考对象,我们常用的是利用位图的索引等。现在,查询优化技术方面与现有方法的改进和进行新研究、为该行业力求突破的研发方向。

等联机分析系统里含有的数据立方体能够建立之后,我们有了根据这种结构系统回答各类OLAP的查询条件。近年来我们的研究人员对研究怎样根据数据立方体能够解决那些更加有深度的查询帮助做出了很大的努力。数据立方体里面通常都含有无数的数据信息,怎样让我们的用户全面的认识立方体中含有的信息是需要继续探讨的一个关键问题。

3 数据挖掘

数据挖掘、数据分析主要表现为分析与挖掘流数据。流数据不同于一般数据,它的特点往往表现为数据量巨大,无法完整的将它存储在某种中间介质中,也就无法对这些数据进行分析和计算。流数据在实际应用中发挥的作用又大,实际应用背景广泛,在电信、传感器等数据量出现的快且量大的行业中有很重要的作用。由于当前使用手段较多,这里不做一一介绍。

4 结语

随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将为公司创造很多潜在的利润,对企业和团队的下一步计划有很大的帮助,因此,做好该方面的研究工作,对社会及企业都有很大的影响。

参考文献

[1]王玉芬.基于数据仓库的决策支持研究[J].商场现代化,2007(3):15.

浅析数据仓库与数据挖掘 第7篇

一、数据仓库

1、数据仓库概述

“数据仓库之父”William H.Inmon在90年代初提出了数据仓库概念:“一个数据仓库通常是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合, 它用于对管理决策过程的支持。”

(1) 面向主题:主题是一个抽象的概念, 是在较高层次上将企业信息系统中的数据综合、归类并进行分析。在逻辑意义上, 它是对应企业中某一宏观分析领域所涉及的分析对象, 是针对某一决策问题而设置的。面向主题的数据组织方式, 就是在较高层次上对分析对象的数据的一个完整的、统一的、一致的描述, 能完整、统一地刻画各个分析对象所涉及的企业的各项数据, 以及数据之间的联系。

(2) 集成的数据:数据仓库的数据不能直接从原有数据库系统中得到。原有数据库系统记录的是每一项业务处理的流水账, 这些数据不适合于分析处理, 在进入数据仓库之前必须经过综合、计算, 抛弃分析处理不需要的数据项, 增加一些可能涉及的外部数据。数据仓库每一个主题所对应的源数据在原分散数据库中有许多重复或不一致的地方, 必须将这些数据转换成全局统一的定义, 消除不一致和错误的地方, 以保证数据的质量。

(3) 数据不可更新:这是指当数据被存放到数据仓库中以后, 最终用户只能通过分析工具进行查询、分析, 而不能修改其中存贮的数据。

(4) 数据随时间不断变化:数据仓库数据的不可更新是针对应用而言, 即用户进行分析处理时不对数据进行更新操作, 但不是说, 数据从进入数据仓库以后就永远不变。数据仓库中的数据随时间变化而定期地被更新, 每隔一段固定的时间间隔后, 运作数据库系统中产生的数据被抽取、转换以后集成到数据仓库中, 而数据的过去版本仍被保留在数据仓库中。

(5) 使用数据仓库:建立数据仓库的目的是为了将企业多年来已经收集到的数据按一个统一、一致的企业级视图组织、存贮, 对这些数据进行分析, 从中得出有关企业经营好坏、客户需求、对手情况、以后发展趋势等有用信息, 帮助企业及时、准确地把握机会, 以求在激烈的竞争中获得更大的利益。

2、数据仓库的数据组织

数据仓库采有以下不同的组织形式:简单堆积文件组织方式, 是将每天由数据库提取并处理后的数据逐天存储起来。在定期综合文件组织方式中, 数据存储单位被分成日、周、月、季度、年等多个级别, 数据被逐一的添加到每天的数据集合中。

3、数据仓库的逻辑、物理结构

数据仓库是存储数据的一种组织形式, 它从传统数据库中获得原始数据, 先按辅助决策的主题要求形成当前基本数据层, 再按综合决策的要求形成综合数据层 (又可分为轻度综合层和高度综合层) 。

数据仓库中数据的物理存储形式有多维数据库组织形式 (空间超立方体形式) 和基于关系数据库组织形式 (由关系型事实表和维表组成) 。在数据立方体上可以进行上卷或下钻等OLAP (联机分析处理) 操作, 即对不同的数据层次进行概化或细化。

二、数据挖掘

1、概念

数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据集中识别有效的、新颖的、潜在有用的, 以及最终可理解的模式的非平凡过程。

2、数据挖掘的功能

(1) 自动预测趋势和行为:数据挖掘自动在大型数据库中寻找预测性信息, 以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。

(2) 关联分析:数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性, 就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。

(3) 聚类:数据库中的记录可被化分为一系列有意义的子集, 即聚类。聚类增强了人们对客观现实的认识, 是概念描述和偏差分析的先决条件。

3、概念描述

概念描述就是对某类对象的内涵进行描述, 并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述, 前者描述某类对象的共同特征, 后者描述不同类对象之间的区别。

4、偏差检测

偏差检测的基本方法是寻找观测结果与参照值之间有意义的差别。

综上所述, 数据挖掘的任务就是从存放在数据库、数据仓库中的大量数据中发现有用的信息。数据仓库技术是为了有效的把数据集成到统一的环境中以提供决策型数据访问的各种技术的总称。

摘要:本文介绍了数据仓库和数据挖掘概念、数据仓库的数据组织结构及数据挖掘的功能进行了探讨。

关键词:数据仓库,数据挖掘

参考文献

[1]苏新宁, 杨建林, 江念南, 粟湘, 《数据仓库与数据挖掘》, 清华大学出版社, 2006年[1]苏新宁, 杨建林, 江念南, 粟湘, 《数据仓库与数据挖掘》, 清华大学出版社, 2006年

[2]安淑芝等《数据仓库与数据挖掘》, 清华大学出版社, 2005年[2]安淑芝等《数据仓库与数据挖掘》, 清华大学出版社, 2005年

数据仓库与数据挖掘概论 第8篇

1.1数据仓库

随着数据库技术的发展,数据仓库(Data Warehouse, DW)的概念出现了。相对一般的数据库技术而言,数据仓库是一种高层管理,高层智能,辅助决策的新型数据库技术。 通过该技术安全,平稳,有效地将分散在诸多数据库系统(Data Base System,DBS)中的数据,集成到一个公共信息平台模式下,就是从多个数据源收集数据以统一的模式的数据体形式进行存储,这是建立数据仓库的基础。

1.2数据挖掘

随着信息技术的发展,数据和信息大量出现和积累,如何从可能含有大量冗余信息中提取有用的,有价值的知识成为信息技术研究的重要问题,出现了数据挖掘技术,及其相关理论和方法用来研究这类问题。

数据挖掘可以认为是从大量的,不完全的,不规范的, 有噪声的,模糊的,随机的存放在数据库,数据仓库或其他信息体中的大量数据中挖掘有趣知识的过程中,从中提取在其中隐含的,事先不知道,又是潜在有用的,有价值的隐藏事件,并利用科学技术,进行深入分析,提取有用知识,作为进行决策时的依据的用来进行高层智能辅助决策的信息和知识的过程。

数据挖掘的概念随着科学技术的发展而发展,其内容和实践因而随之得到充实。

2数据仓库与数据挖掘的关系

2.1作用与性质关系

数据仓库与数据挖掘作为用于决策支持的新技术,发展迅速,两者相互结合,相互影响。数据仓库与数据挖掘的发展关系是融合与互动的;数据仓库和数据挖掘的建立具有不同的目的和过程。

2.1.1数据仓库与数据挖掘的融合与互动发展

数据仓库中的数据是经过预处理的,在预处理过程中已清除了原数据的不规则性,进行了数据汇总,在此基础上数据挖掘的使用只是进行进一步的预处理。数据仓库与数据挖掘的协同工作中,一方面,数据仓库因在建立数据仓库阶段就进行了预处理,迎合和简化了数据挖掘过程中的重要步骤, 提高了数据挖掘的效率和能力。另外,作为一种重要的技术, 数据挖掘技术成为数据仓库应用中的重要和相对独立的方面和工具,影响和推动着数据仓库应用和发展,数据挖掘的很多相关技术成为建立数据仓库的借鉴。

2.1.2数据仓库和数据挖掘的目的和过程不同

数据仓库是数据库技术的一个新主题,是一个存储着由整合组织作业数据库得来的数据的非常大的数据库。将作业中的数据转换成有用的策略性信息是整个数据仓库的重点, 这个转换和整合过程是建立数据仓库的最大问题和挑战。一个数据仓库应具有整合性数据(Integerate Data),详细和汇总性数据(Detailed and Summarized Data),历史数据, 解释数据等。数据仓库先行建立,数据挖掘才能有效率进行, 数据挖掘是从数据仓库找出有用信息的一种过程和技术。数据仓库为数据挖掘提供了整合后的更好,更规则,更规范, 更广泛地数据源,数据挖掘为数据仓库提供了更好的具有高层智能和高层管理的决策支持。

2.2功能关系

从功能关系方面界定,数据仓库和数据挖掘是不同的信息技术,虽然目标都是辅助决策,但只有通过数据挖掘,数据仓库才能更好地体现出辅助决策的功能和作用,否则仅仅数据仓库,尽管数据丰富而信息匮乏。另外,数据挖掘虽然不一定建立在数据仓库之上,但数据仓库却能大大提高数据挖掘的效率,因为数据仓库的建立已进行了数据整合等预处理。不必为了数据挖掘一定非得建立一个数据仓库,对数据挖掘的使用而言,数据仓库不是必需的。

2.3耦合结构关系

根据数据挖掘系统与数据库或数据仓库的耦合程度,可以将其分为不耦合、松散耦合、半紧耦合和紧密耦合4种结构耦合关系。

相对而言,不耦合是指数据挖掘中不利用数据库或数据仓库的任何功能,不耦合系统结构简单,但有不少缺点。松散耦合是指数据挖掘系统将使用数据库或数据仓库中的某些工具进行数据挖掘,然后将结果存放到文件,数据库或数据仓库或其它信息体中。半紧密耦合是指数据挖掘的一些基本原语已经在数据库或数据仓库中实现或基本实现,数据挖掘的一些功能已经在数据库,数据仓库或其它信息体中得到实现。紧密耦合是指数据挖掘系统平滑地集成到数据库或数据仓库中,这种结构是期望的,但实现起来不容易,很多问题需要进一步研究。

3数据仓库与数据挖掘的使用技术

3.1数据仓库的主要使用技术

数据仓库的使用使数据和信息在软硬件领域,Internet和企业内部网解决方案以及数据库等方面可以节省了许多的经济高效的计算资源,可以用来保存极大量的数据供分析使用,且允许使用多种数据访问技术对其进行访问。

为了解决大量数据信息的海量存储,数据仓库主要使用了并行,分区,数据压缩等技术。海量数据的存储,查询, 汇总以及记录等,需要很多操作并行进行。数据仓库采用并行技术解决大数据的海量存储,查询等具有重要现实性,并行也是数据仓库相关联的计算机软硬件环境,操作系统(OS), 数据库管理系统(DBMS),查询工具和技术的现实需求和要求,这些都可以从并行的最新成就中获益,进而从物理上和逻辑上促进数据仓库的功能实现。数据仓库的另一个重要技术是分区。分区功能使得支持大型表和索引变得更为容易, 同时从物理逻辑上提高了数据管理和查询效率和性能。数据压缩技术的引入和发展也从技术层面有力支持和促进了数据仓库的使用和发展,使大大压缩了数据仓库海量数据的存储空间。数据压缩功能降低了数据仓库环境中的磁盘系统的成本开销,而新的数据压缩技术也已经消除了压缩数据对查询性能造成的负面影响,进一步促进了数据仓库的实用性和存储便捷(方便)性,使数据压缩成为建立数据仓库的一项重要支持技术。

3.2实现数据挖掘的使用技术

相对与数据仓库而言,数据挖掘从分析方法讲主要技术及方法(算法)有分类,估计,预测,关联规则,聚类分析, 粗糙集技术,进化计算,灰色系统技术,模糊逻辑技术,人工智能技术,地理信息系统等,在对数据挖掘对象的表示方面主要有描述和可视化技术等。对于复杂的数据挖掘类型, Text、Web、图形图像、视频和音频等技术得到使用。主要使用技术,方法(算法)如下。

(1)分类(Classification),是指预测离散的分类标号,从数据中选出已经分好类的训练集,通过该训练集,建立分类模型,对于没有分类的数据进行进一步分类。分类算法根据训练集得到分类规则和模型,然后对其准确率进行测试,如果测试达到要求,就可以将其用于未见新数据的分类。

(2)估计(Estimation)与分类类似,不同于分类的是, 分类描述的是离散型变量的输出,而估值处理连续值的输出; 分类的类别是确定数目的,估值的量是不确定的。

(3)预测(Prediction),一般是通过分类或估值起作用的。

(4)关联规则(Affinity grouping or association rules)技术决定哪些事情将一起发生。在数据库中存在一类重要的可被发现的知识,若两个或多个变量之间存在某种规律性,称为关联;关联规则的目标是从交易数据,关联数据等信息载体中,查找存在于项目集合,或对象集合之间的频繁或频率模式,关联,相关性或因果等关系结构,提取有用数据信息集。关联属性挖掘较好的算法有著名的Apriori算法。

(5)聚类分析(Clustering Analysis)技术是根据事物的特征对记录分组,把相似的记录在一个聚集里,同一个聚集中的数据对象彼此相似,不同聚集中数据对象相异。要求是适用于大数据和不同的数据类型;存在并能够发现不同形状和类型的聚类;尽量少的领域知识;对噪声不敏感;模型可解释。在数据挖掘中用到的统计分析方法还有相关分析和回归分析、差异分析、因子分析、辨别分析等。

(6)粗糙集(Rough Sets)技术采用粗糙集理论,将约简技术应用在不确定数据的范化和数据挖掘,可以解决的实际问题有不确定性(不精确)数据的简化,关联性发现,决策模型,所产生的范化,以及知识发现等。

(7)神经网络方法通过对待分析数据进行学习来构造模型。

(8)公式发现对数据项进行数学运算来找到数据模型。

(9)进化计算(Evolutionary Computation,EC)技术是基于自然选择和自然遗传机制的计算方法,来设计、控制和优化人工系统,可以在承受的时间内很好的解决复杂的非线性优化问题,也可解决复杂的组合规划,整数规划等问题。

(10)灰色系统(Grey System)技术是通过对原始数据的收集与整理寻求其发展变化的规律,通过灰色数据序列建立系统反应模型或训练集来预测系统的可能变化。

(11)模糊逻辑(Fuzzy Logic)技术可以实现模糊综合判断、模糊聚类分析等多种数据挖掘模型。

(12)人工智能(Artificial Intelligence ,AI)技术包括多种技术,其中最基本的知识表示,推理,搜索在数据挖掘中都得到了体现。

(13)地理信息系统根据仓库里数据的地理位置,比较相同产品的不同地域的差异,或者相同地域不同产品的差异进行分析。

(14)描述和可视化(Description and Visualization) 是对数据挖掘结果的表示方式。

(15)对于复杂数据类型挖掘,Text、Web、图形图像、 视频和音频等技术也经常被使用。

4常见问题

4.1数据库与数据仓库

从数据库到数据仓库企业的数据处理大致分为2类:一类是操作型处理,也称为联机事务处理,主要是针对具体业务在数据库联机的日常操作;另一类是分析型处理,一般针对的是数据仓库,针对某些主题的历史数据进行分析,支持管理决策,对修改,删除等操作要求严格,或不允许。

两者具有的不同的特征,从处理性能、数据集成、数据更新、数据时限和数据综合等方面主要体现如下:

日常业务涉及频繁、简单的数据存取,因此对操作型处理的性能要求是比较高的,需要数据库能够在很短时间内做出反应,相对而言数据仓库很少进行删除等操作,保留记录以维持数据的历史沿承。企业的操作型处理通常较为分散, 传统数据库面向应用的特性使数据集成困难,而数据仓库是面向集成的。

4.2 OLAP与数据挖掘(Data Mining)的不同

OLAP(Online Analytical Process)与数据挖掘(Data Mining)主要差异在于功能和实效上,数据挖掘用在产生假设,而OLAP则用于查证假设。OLAP是使用者先有一些假设, 然后使用者主导,利用OLAP来查证假设是否成立;而数据挖掘(Data Mining)则是通过技术和方法(算法)进行数据汇总, 提供高层辅助决策功能,形成高层智能来帮助使用者产生假设。

4.3 Web Mining与数据挖掘的不同

Web Mining可单纯看作数据挖掘(Data Mining)在网络数据的应用的泛称,属于复杂的数据类型挖掘。

数据仓库与数据挖掘实例分析 第9篇

数据仓库与数据挖掘是近年来刚刚兴起并逐步发展起来的一门新兴交叉学科, 它把对数据的应用从低层次的简单查询, 提升到从数据中挖掘知识, 并提供决策支持。此门学科涉及到许多领域的知识, 包括数据库技术、人工智能技术、数理统计、可视化技术、并行计算、机器学习等, 汇集了多门学科的知识并在综合运用这些学科知识的基础上产生出新的知识和方法。此门学科的应用主要在于构建企业的决策支持系统, 此系统正是目前帮助企业提高自身竞争力的重要手段。

在数据仓库与数据挖掘学科中涉及了许多概念、设计方法及诸多挖掘算法, 本文将就其中的一些内容结合SQL Server Analysis Service应用实例加以阐述与说明, 以加深对理论的理解, 并逐步掌握此门学科所提供的更多技术。

总体来讲, 构建一个企业的决策支持系统主要有两个阶段, 第一个阶段是创建企业的数据仓库, 第二个阶段是在数据仓库的基础上进行数据挖掘。这两个阶段的工作相辅相成, 数据仓库是基础, 数据挖掘是在数据仓库之上的高层应用, 两者需要整体规划、分步实施。下面分别就这两部分内容结合实例加以阐述。

1数据仓库的规划与设计

数据仓库是一个面向主题的、集成的, 时变的、非易失的数据集合, 支持部门管理的决策过程, 数据中的每一个数据单元在实践上都是和某个时刻相关的。数据仓库也被看作是某个组织的数据存储库, 用于支持战略决策。数据仓库的功能是以集成的方式存储整个组织的历史数据, 这些数据会影响到这个组织和企业的多个方面。数据仓库的特点是:数据常常来自于多个数据源;其存放模式一致;驻留在单个站点;数据已经清理、变换、集成与装载并定期刷新;数据量巨大。

数据仓库构建方法同一般数据库构建方法最大的不同在于数据仓库的需求分析是从用户的决策问题入手, 其目的是直接针对问题的主题, 而一般数据库系统是以事务处理为出发点。下面结合具体实例说明数据仓库的设计步骤。

1.1 确定用户需求, 为数据仓库中存储的数据建立模型

通过数据模型得到企业完整而清晰的描述信息。数据模型是面向主题建立的, 同时又为多个面向应用的数据源的集成提供了统一的标准。

例如:FoodMart是一家大型的连锁店, 在美国、墨西哥和加拿大有销售业务。市场部想要按产品和顾客分析1998年进行的所有销售业务数据。该公司现在急需进行销售方面的数据分析, 以找到一些潜在规律来促进销售业务的进一步拓展从而扩大销售渠道、加大销售量、提高销售利润、增强公司竞争力。该连锁店销售的产品总体上被分为若干个大类, 细节上分为若干个小类;客户广泛分布于不同地区、不同国家。该连锁店在销售信息管理系统中长期保存并不断更新着产品、产品分类、商店、销售、促销、客户等记录表, 依次为:产品表 (PRODUCT) 、产品分类表 (PRODUCT_CLASS) 、商店表 (STOR) 、1998年销售记录表 (Sales_fact_1998) 、促销表 (PROMOTION) 、客户表 (CUSTOMER) 等。

FoodMart连锁店保存并不断更新的数据库是事务处理型数据库, 其结构是面向应用而设计的。要进行数据挖掘就必须建立面向主题的数据仓库, 为了进行1998年销售方面的数据挖掘, 要设计的数据仓库必须以1998年销售数据为主题, 辅之以日期、产品、产品分类、商店、促销、客户等其它数据信息。具体来讲, 即创建以1998年销售为主题的数据仓库, 采用星型/雪花模式构建事实表。

具体系统模型构造如图1所示。

1.2 分析数据源, 完成数据仓库的设计工作

基于用户的需求, 着重于1998年销售主题, 开发数据仓库中数据的物理存储结构, 即设计多维数据结构的事实表和维表。1998年销售事实表包含5个维表和3个度量。这5个维表分别是日期、客户、产品、促销和商店维表, 3个度量分别为销售金额、仓储成本、销售单位。考虑到将来要根据顾客的年收入情况进行顾客会员卡种类方面的数据分析, 另外增加了年收入维度 (yearly income, 取自于customer表) 。为便于分析挖掘出有关时间因素的信息, 特增加了时间表time。

1.3 生成物理的数据仓库, 并从各种源系统中获取数据装入数据仓库中

在SQL Server Analysis Service manager中建立物理的数据仓库可以通过ODBC数据源方式指定原有数据库, 再通过Microsoft OLE DB Provider for ODBC进行连接的方式完成原有数据库到数据仓库的映射。运用SQL Server Analysis Service manager提供的功能建立数据仓库的多维数据集, 指定此数据仓库的度量值与维度, 至此数据仓库建立完毕。其中纬度与度量值如图2所示。

2 数据挖掘

数据挖掘 (Data Mining) 又称为数据库中的知识发现 (Knowledge Discovery in Database, KDD) , 就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。简言之, 数据挖掘就是从海量数据中提取隐含在其中的有用信息和知识的过程。数据挖掘可以帮助企业对数据进行微观、中观乃至宏观的统计、分析、综合和推理, 从而利用已有数据预测未来, 帮助企业赢得竞争优势。数据挖掘的方法是建立在联机分析处理 (On Line Analytical Processing, OLAP) 的环境基础之上的。OLAP技术使数据仓库能够快速响应重复而复杂的分析查询, 从而使数据仓库能有效地用于联机分析。OLAP 的多维数据模型和数据聚合技术可以组织并汇总大量的数据, 以便能够利用联机分析和图形工具迅速对数据进行评估。当分析人员搜寻答案或试探可能性时, 在得到对历史数据查询的回答后, 经常需要进行进一步查询。OLAP系统可以快速灵活地为分析人员提供实时支持。

数据挖掘工作是在完备地建立了数据库、数据仓库等数据集的基础上进行的, 典型的数据挖掘系统结构如图3所示。

整个数据挖掘过程主要可分几个阶段, 依次为:问题定义、数据预处理、数据挖掘以及结果的解释和评估。

2.1 问题定义

问题定义就是要清晰地定义出业务问题, 确定数据挖掘的目的。对于FoodMart连锁店来说, 它的问题定义就是:FoodMart连锁店的市场部想增加客户满意度和客户保有率, 于是实行了创造性的方法以达到这些目标。

其方法之一是对会员卡方案重新进行定义, 以便更好地为客户提供服务并且使所提供的服务能够更加密切地满足客户的期望。

为了重新定义会员卡方案, 市场部想分析当前销售事务并找出客户人口统计信息 (婚姻状况、年收入、在家子女数等等) 和所申请卡之间的模式, 然后根据这些信息和申请会员卡的客户的特征重新定义会员卡。

2.2 数据预处理

最初为数据挖掘所准备的所有原始数据集通常都很大, 它们当中存在许多脏数据。造成脏数据的原因主要源自于收集与传送过程的错误、滥用缩写词以及不同的惯用语、重复记录、数据输入错误、拼写变化、不同的计量单位、过时的编码、集成时的空值与丢失值以及不同的数据源等。脏数据主要有以下一些表现形式:

(1) 数据不完整。表现为:感兴趣的属性缺值;缺乏感兴趣的属性;仅包含聚集数据等。例如:CUSTOMER表中的LNAME=“”

(2) 数据噪声。即包含错误的属性值或存在偏离期望的孤立点值。一个属性的值与事实完全不吻合的情况, 例如:CUSTOMER表中的在家子女数num_children_at_home=200

(3) 数据不一致。数据不一致表现为多种情况, 比如:同样的属性在不同的结构里使用不同的名字, 例如:name、xm;不同数据使用的计量单位不同, 例如:100 (美元) 、100 (美分) ;数据不允许为空的地方数据为空等。

如果在脏数据上进行数据挖掘将很可能导致错误的判断甚至完全相反的分析结果, 也就是说, 没有高质量的数据就没有高质量的挖掘结果。由于决策质量依赖于数据质量, 因此需要在数据挖掘之前进行数据预处理, 以保证数据仓库内包含的是高质量的、一致的数据。所谓数据预处理其实就是对数据仓库中的数据进行提取、清理、转换, 从而保证数据的高质量, 具体来讲包括以下几种操作:

(1) 数据清理 (data cleaning) 。就是去掉数据中的噪声, 纠正不一致;填写空缺值, 平滑噪声数据, 识别、删除孤立点。例如:将CUSTOMER表中的在家子女数num_children_at_home=200的记录值删除掉或填入平均值1。

(2) 数据集成 (data integration) 。将多个数据源中的数据合并存放在一个统一的数据存储 (如数据仓库、数据库等) 中, 数据源可以是多个数据库、数据立方体或一般的数据文件。

(3) 数据变换 (data transformation) 。即数据的标准化与聚集, 将数据变换成适于挖掘的形式。例如:属性数据可以规范化, 使得它们可以落入某个小区间。

(4) 数据归约 (data reduction) 。数据归约技术可以用来得到数据集的归约表示, 它接近于保持原数据的完整性, 但数据量比原数据小得多。与非归约数据相比, 在归约的数据上进行挖掘, 所需的时间和内存资源更少, 挖掘将更有效, 并产生相同或几乎相同的分析结果。数据归约主要通过数据聚集 (如建立数据立方体) 、维归约 (如删除不相关特性) 、数据压缩 (如最短编码) 、数字归约 (用较短的表示替换数据) 、概化 (去掉不用的属性) 等方法完成。例如, 对于FoodMart连锁店的数据挖掘来讲, CUSTOMER表中的address1、address2、address3、 address4这4个属性与挖掘目标无关, 所以可以将它们删除掉以节省空间和时间。

2.3 选择挖掘模型, 进行数据挖掘

根据数据挖掘的目标和数据的特征, 选择合适的挖掘模型, 在净化和转换过的数据集上进行数据挖掘。

FoodMart连锁店的工作设想是:对会员卡方案重新进行定义, 以便更好地为客户提供服务并且使所提供的服务能够更加密切地满足客户的期望。市场部想分析当前销售事务并找出客户人口统计信息 (婚姻状况、年收入、在家子女数等) 和所申请卡之间的模式, 然后根据这些信息和申请会员卡的客户的特征重新定义会员卡。

对于这个工作预期, 决定采用决策树的数据挖掘方法进行客户群的分析。所谓决策树, 就是在对数据进行决策分类时利用树的结构将数据记录进行分类, 其中树的一个叶结点就代表符合某个条件的属性集, 根据属性的不同取值建立决策树的各个分支, 随后递归地构造每个子节点的子树。由于决策树结构简单便于人们认识与理解, 以及决策树不需要额外的数据训练, 因此, 决策树是数据挖掘中常用的一种分类方法。

本实例采用“Microsoft 决策树”算法在客户群中找出会员卡选择模式。按照以下步骤完成“决策树”挖掘模型:

(1) 将要挖掘的维度 (事例维度) 设置为客户;

(2) 将 Member_Card 成员的属性设置为数据挖掘算法识别模式时要使用的信息;

(3) 选择人口统计特征列表 (婚姻状况、年收入、在家子女数和教育程度) , 算法将据此确定模式;

(4) 处理训练模型, 浏览决策树视图并从中读取模式。

经过处理后, 挖掘模型浏览器展现出一棵深度为3、宽度为8的决策树, 此浏览器将根据用户对树中不同分支节点的选择显示出相应的统计信息。

例如, 选择根节点“全部”顾客的方框后显示信息如图4所示。

在图中可以看到数据挖掘的结果:将客户按照年收入的不同分为8个区段 (类) , 涉及的客户总数为7 632人, 通过直方图可以直观地看到办理金、银、铜、普通卡的比例。

选择年收入在$30K-$50K的范围框后, 挖掘模型浏览器的显示信息如图5所示。

年收入在此范围内的客户共计1 362人, 其中办理金、银、铜、普通卡的数量和比例通过合计及直方图可以一目了然。

其它选项依此类推。

对年收入在$150K以上的范围节点进行进一步分级 (显示其子节点) , 选择已婚节点后显示信息如图6所示。

从图中数据可以看出, 在年收入为$150K以上的已婚客户中, 81.05%的人办理了金卡。

选择未婚框后显示信息如图7所示。

图中数据显示, 在年收入为$150K以上的未婚客户中, 89.16%的人办理了银卡。

对年收入在$50K-$70K的范围节点进行进一步分级 (显示其子节点) , 选择在家子女的人数<2后显示信息如图8所示。

选择在家子女的人数>2后显示信息如图9所示。

其它选项依此类推。

2.4 解释模型结果分析

针对FoodMart商店的举措, 对挖掘模型浏览器的显示结果进行研读后得出这样的结论:年收入越高的顾客办理金卡、银卡的比例越高, 收入越低的顾客办理普通卡和铜卡的比例越高。在高收入的顾客中, 已婚者办理金卡的比例最高, 单身者办理银卡的比例最高。在较低收入的顾客中, 在家子女的人数少于两人的办理铜卡的比例较高, 多于两人的办理金卡的比例较高。具体数据值及比例值可以从挖掘模型浏览器中得到。市场部将根据这些模式设计新的会员卡, 使其适应申请各类会员卡的客户类型。

3 结语

企业要建立自己的决策支持系统就必然要应用数据仓库、数据挖掘技术, 企业应根据自身要求合理建立特定主题的数据仓库, 在此基础上还要结合实际问题选择相应的挖掘模型, 从而得到最有价值的挖掘分析结果, 以利于企业的经营发展。

参考文献

[1][美]MEHMED KANTARDZIC.数据挖掘——概念、模型、方法和算法[M].北京:清华大学出版社, 2003.

数据挖掘分类技术研究与分析 第10篇

随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们已经积累海量数据。如何挖掘这些数据背后隐藏的知识,为企业决策和过程控制提供必要的信息支持是数据挖掘的研究内容。

分类技术是数据挖掘中的核心和基础技术之一,可用于预测或描述二元和标称类型的数据集。分类技术在很多领域都应用,如:安全领域中的入侵、欺诈检测,根据电子邮件的标题和内容对垃圾邮件进行检测;金融系统中根据客户信息对银行贷款进行风险、信用评估;医学中根据核磁共振扫描的结果对恶性肿瘤、良性肿瘤进行判断;零售业根据销售数据对顾客进行分类,从而制定针对性的销售策略,依据消费行为调整货品摆放,以促进销售额、利润的增长等。目前,分类技术的应用已不仅限于此,在其他各个领域的应用也都有研究,且应用潜力十分巨大。

1 解决分类问题的方法

数据分类就是学习训练数据,根据训练集中的数据属性建立分类模型,用这个模型预测未知样本的类标号[1],训练集由数据库元组和相关联的类标号组成。数据分类由两步构成:首先,根据训练集数据建立分类模型,也就是建立一个映射函数y=f(x),用来预测给定元组X的关联类标号y。第二步,使用模型对类标号未知的元组进行检验[1]。学习算法不仅要能很好地拟合输入数据,还要能正确预测未知样本的类标号。所以,训练算法的主要目标就是建立具有强泛化能力的模型,即能够准确预测未知样本的类标号。分类模型的性能可通过对模型正确和错误预测的检验记录计数进行评估。

2 主要分类算法

2.1 决策树

决策树是一种由结点和有向边组成的层次结构,采用自顶向下递归的分支方式构造。树的最顶层节点是根节点,内部节点表示在一个属性上的测试,每个分支代表一个测试输出,叶节点代表类的分布。算法策略如下:

(1)以代表训练样本的单个节点开始;

(2)如果样本都在同一个类,则该节点成为叶节点,并用该类标号标记;

(3)否则,基于启发式或统计式策略选择能够最好地将样本分类的属性进行分类;

(4)对测试属性每个已知的值,创建一个分枝,并以此为根据划分样本;

(5)使用同样的方法,递归地形成每个划分上的样本决策树;

(6)当所有样本属于同一个类或者没有剩余属性可以进一步划分的时候停止分裂[2]。

决策树最为典型的归纳算法是ID3,采用自顶向下不回溯策略,能够保证找到一个简单的树[3]。算法C4.5和CART都是ID3的扩展,它们将分类领域从类别属性扩展到数值型属性。但是以上三种算法都限制训练样本驻留主存,限定了训练集的规模,现在已经提出了一些由超大型训练集进行决策树归纳的算法有SLIQ和SPRINT。SLIQ在决策树的构造过程中采用了预排序与广度优先增长策略,在一定程度上具有良好的训练样本和属性个数增长的可扩展性。SPRINT在寻找每个结点的最优分裂标准时变得更简单,其缺点是对非分裂属性的属性列表进行分裂时变得很困难。

决策树很擅长处理非数值型数据,因此免去了很多数据预处理工作。它最大的优点在于其直观性和易理解性,是目前使用非常广泛的分类技术,已经成功应用于医学、制造和生产、金融分析、天文学和分子生物学中[4]。

2.2 贝叶斯分类

贝叶斯分类是统计学方法,基于贝叶斯后验概率定理,主要应用分为类条件独立的朴素贝叶斯和表示属性集间依赖关系的贝叶斯信念网络。

朴素贝叶斯分类是将每个数据样本用一个n维特征向量X={x1,x2,…,xn}表示,其中xk是属性Ak的值(1≤k≤n),所有的样本分为m类:c1,c2,…,cm。对于一个类标记未知的数据记录,若P(ci|X)>P(cj|X),1≤j≤m,j≠i,即在条件x下,如果数据样本属于ci类的概率大于属于其他类的概率,则将该记录归为ci类。在许多领域,朴素贝叶斯分类算法优于决策树和神经网络分类,该算法能运用到大型数据库中,且方法简单,分类准确率高,速度快[5]。

朴素贝叶斯算法的前提条件是属性之间互相独立,当数据属性满足独立假设时,分类的准确度较高,否则可能较低。为此,出现了许多降低独立性假设的分类方法,其中贝叶斯信念网络就是研究最为广泛的技术之一。贝叶斯信念网络是描述数据变量之间概率关系的图形模型,用一个带有概率注释的有向无环图表示,其定义G=(S,P)由网络拓扑结构S和局部概率分布集合P两部分组成,S是一个有向无环图,P表示用于量化网络的一组参数[6]。建立贝叶斯信念网络可以分为两个阶段:第一阶段根据实例数据创建由属性值和标识构成的贝叶斯拓扑结构,可以通过对主观的领域专家知识编码获得;第二个阶段依据每个属性的局部条件概率,采用贝叶斯推理算法,计算给定属性值时类变量的最大后验概率。贝叶斯网络很适合处理不完整的数据,对有属性缺失的实例可以通过对该属性中所有可能取值的概率求和或求积分来加以处理。在图像处理、文字处理、支持决策等方面有很多应用。文字处理方面,语义相近的词之间的关系可以用一个贝叶斯网络来描述。利用贝叶斯网络,还可以找出近义词和相关的词,目前在Google搜索和Google广告中都有直接的应用[7]。

2.3 人工神经网络

自1943年,心理学家McCulloch和数学家Pitts联合提出人工神经网络以来,已成为一个发展迅速的前沿研究领域,在数据挖掘中占有举足轻重的作用。它由一组相互连接的结点和有向链构成。在结构上,神经网络可以划分为输入层、输出层和隐含层。输入层的每个节点对应于预测变量;输出层节点对应目标变量;中间是隐含层,隐含层的层数和每层节点的个数决定了神经网络的复杂度。其中,每个节点都可表示成预测变量的值或者是值组合。在训练神经网络来完成分类任务之前应考虑以下问题:

(1)选择合适的网络拓扑结构有两种方法:一是开始采用有足够多的结点和隐藏层的全连接网络,再使用较少的结点重复该建模过程;二是不重复建模过程,而删除一些结点,重复模型评价过程来确定模型复杂度。

(2)确定输入层和输出层的结点数目。

(3)初始化权值和偏置。目前最常使用的神经网络是BP网络,80%~90%的神经网络模型采用BP网络或它的变化形式[8]。

神经网络在面对大量复杂、非线性、时序性与噪音普遍存在的数据分类时,具有承受力强,准确率高和测试样例分类速度快的优点;缺点是训练人工神经网络是一个非常耗时的过程,尤其当隐藏结点数量非常大时。1993年Adeli和Hung提出了基于多微处理机的BP网络并行算法[3],以解决网络学习速度慢的问题;1994年他们又提出了自适应共轭梯度算法[4],进一步提高了多层BP网络的训练速度[9]。

2.4 其他分类技术

数据挖掘中的分类算法很多,除了上面常用的3种分类技术外,还有基于规则的分类算法、KNN近邻算法、遗传算法等。

基于规则的分类使用一组“if…then…”规则来分类记录,适合于处理类分布不平衡的数据集合,通常用来产生易于解释的描述性模型,模型的性能可与决策树分类相媲美[10]。1956年提出的KNN近邻算法广泛地应用于模式识别领域。当给定未知元组时,K近邻分类搜索模式空间,找出最接近未知元组的K个训练元组,则未知元组根据投票的原则指派到近邻中的多数类。其中,近邻性用距离度量,常用的有欧几里德距离、曼哈顿距离。KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。因此,对类域交叉或重叠较多的待分样本集,KNN方法比其他方法更为适合[11]。

遗传算法基于进化理论,采用遗传结合、变异、自然选择等设计分类方法。开始创建由随机产生规则组成的初始群体,规则用二进位串表示。后代通过使用交叉和变异等遗传操作来创建。交叉是将规则对的子串交换,形成新的规则对;变异对应于规则串中随机选择的位反转。遗传算法是在很多类型的问题中都很适用的一种优化技术,在分类时可以先选择一种分类技术,然后使用遗传算法优化分类结果,遗传算法具有容错性强和易于应用的特点[12]。

3 结语

目前,已经提出的分类算法很多,但是面对如今的海量数据,以及数据本身的复杂性、不完整性、含噪声等特点使得一些算法在时间效率、鲁棒性、精确性上还存在问题,还没有发现一种分类方法对所有的数据集都有效,只能是特定算法对某些领域的分类优于其他分类技术。从数据分类技术的发展趋势来看,已经从提出概念和算法改进方面转向系统应用和方法的创新,并且侧重于多种分类技术和策略的集成,以及多种学科之间的相互渗透和交叉应用。

摘要:分类技术是数据挖掘中的核心和基础技术,在此就数据挖掘分类技术的主要算法进行了对比分析研究。对目前研究比较多的基于决策树、贝叶斯和人工神经网络的分类方法做了详细的讨论,对其他新提出的几种算法做了简要分析,论述了每种分类算法的优缺点,并给出了相应的应用领域,最后对分类技术的研究重点和发展趋势做了展望。

关键词:数据挖掘,决策树,贝叶斯分类,人工神经网络

参考文献

[1]范明,范宏建.数据挖掘导论[M].北京:人民邮电出版社,2006.

[2]范明,孟小峰.数据挖掘概念与技术[M].北京:机械工业出版社,2007.

[3]曹忠升,薛梅艳.基于决策树的软件分类方法[J].计算机工程,2008,34(1):56-58.

[4]王刚,黄丽华.数据挖掘分类算法研究综述[J].科技导报, 2006(12):73-75.

[5]白莉媛,黄晖,刘素华.基于自助平均的朴素贝叶斯文本分类器[J].计算机工程,2007,33(15):190-192.

[6]刘红岩.数据挖掘中的数据分类算法综述[J].清华大学学报:自然科学版,2002(6):727-730.

[7]马军,宋玲,韩晓晖,等.基于网页上下文的Deep Web数据库分类[J].软件学报,2008,19(2):267-274.

[8]王晓晔,张继东,孙济洲.一种高效的分类规则挖掘算法[J].计算机工程与应用,2006,42(33):174-177.

[9]AGGARWAL Charu C.On the use of human-computer interaction for projected nearest neighbor search[J].Data Min.Knowl.Disc.,2006(13):89-117.

[10]彭京,唐常杰.一种基于概念相似度的数据分类方法[J].软件学报,2007,18(2):311-322.

[11]ERRERO H J R,NAVARRO Juan J.Exploiting computer resources for fast nearest neighbor classification[J]. Pattern Analysis Applications,2007,10(4):265-275.

漏洞挖掘技术分析与研究 第11篇

1.1 漏洞的概念

漏洞是指计算机系统或软件中的安全缺陷, 这些安全缺陷包括功能缺陷或逻辑缺陷, 对计算机系统的安全性具有潜在的威胁。漏洞的存在范围很广泛, 在计算机系统的硬件、软件或网络通信协议上都有所体现。

1.2 漏洞的特性

1.2.1 必然性

漏洞的存在对于计算机系统或软件是客观存在、不可避免的, 其根本原因在于系统或软件在实现过程中存在的非正常问题, 具体因素可包括编程代码疏忽、软件安全机制规划出错。由于计算机系统或软件的天然脆弱性, 所以漏洞也是必然存在的。

1.2.2 长期性

随着计算机系统或软件的投入使用, 已有的漏洞会随着用户的使用暴露出来。当系统或软件开发商推出补丁修正漏洞时, 同时也可能导致程序出现新的安全漏洞。因此, 在系统或软件的整个使用过程中, 总是会出现旧有漏洞被修复, 而新漏洞不断出现的问题。因此, 可以说漏洞在系统中的存在是长期性的。

1.3 危害性

漏洞的存在容易对计算机系统造成损害。攻击者可以利用计算机系统或软件的漏洞进行攻击行动, 使运行有漏洞的系统或软件的计算机用户的资料、数据被篡改或破坏, 造成隐私泄露或经济损失。总之, 漏洞的危害性是客观存在的。

2 漏洞挖掘

2.1 漏洞挖掘的概念

漏洞挖掘是指查找目标系统中可能存在的漏洞, 在这个过程中, 需要运用多种计算机技术和工具。根据挖掘对象的不同, 漏洞挖掘一般可以分为两大类, 即基于源代码的漏洞挖掘和基于目标代码的漏洞挖掘。对于基于源代码的漏洞挖掘来说, 首先要获取系统或软件的源代码程序, 采取静态分析或动态调试的方式查找其中可能存在的安全隐患。但大多数商业软件的源代码很难获得, 一般只有一些开源系统能为挖掘者提供源码, 如LINUX系统, 所以目前基于源代码的挖掘一般都是LINUX系统及其开源软件。对于不能提供源码的系统或软件而言, 只能采用基于目标代码的漏洞挖掘方法, 该方法一般涉及程序编译器、计算机硬件指令系统、可执行文件格式等方面的分析技术, 实现难度较大。

2.2 漏洞挖掘的作用

由于漏洞的必然存在性和危害性, 所以漏洞挖掘是十分必要并有益的。因为一旦攻击者发现系统中存在的严重漏洞, 就可能迅速开展攻击行动, 从而对计算机系统进行非法访问或破坏。先于攻击者发现并及时修补漏洞可有效减少来自网络的威胁。因此主动发掘并分析系统安全漏洞, 对网络安全具有重要的意义。

3 漏洞挖掘的主要技术

3.1 手工测试技术

手工测试就是通过人的手工方式向测试的目标系统或软件发送特殊的数据, 这些数据包括正确的或错误的输入, 在发送数据后, 通过观察测试目标对输入数据的反应来查找系统中可能存在的漏洞。该方式不需要额外的辅助测试软件, 可由漏洞测试者独立完成, 具有实现简单、结果直观的优点, 但是局限性也很大, 主要表现为效率不高、对测试者的个人技术水平依赖较大等方面, 所以手工测试一般适用于简单、小型、直观的系统或软件。

3.2 FUZZING技术

Fuzzing技术的实现原理是软件工程中的黑盒测试思想, 其主要方法是使用大量的数据作为应用系统或软件的输入, 以目标对象接受输入后是否出现异常为标志, 来查找目标系统中可能存在的安全漏洞。Fuzzing方法所使用的半有效数据一般由特定的工具来生成, 这些数据其必要标识和大部分数据是有效的, 但在逻辑方面存在一定错误, 能够导致应用系统或软件的崩溃, 从而发现安全问题所在。

Fuzzing技术的思想较为简单, 易于理解与应用, 具有漏洞重现容易、误报率低的优点, 但其同时也具有黑盒测试技术的一些缺点, 比如数据格式不通用、构造测试周期长等问题。总的来说, Fuzzing技术在漏洞挖掘方面的应用越来越广泛, 现有漏洞大多数是由Fuzzing方式挖掘而出的。

3.3 动态分析技术

动态分析技术是指在目标系统或软件的动态运行中查找漏洞的技术。其主要思想是在特定的容器中运行目标程序, 通过目标程序在执行过程中的状态信息来发现有潜在问题, 这些状态信息包括当前内存使用状况、CPU寄存器的值等方面。在具体实现过程中, 动态分析主要从代码流和数据流两方面进行操作。对于代码流, 主要是通过设置程序运行断点来跟踪系统运行状态, 分析对象主要是有安全缺陷的函数或函数参数;对于数据流, 主要是进行特殊数据的构造, 也是采用半有效的数据进行输入。动态分析技术的关键是容纳程序运行的容器, 也就是动态调试器工具, 常见的动态调试器工具有Soft Ice、Olly Dbg、Win Dbg等工具。

动态分析技术具有较高的漏洞查找准确率, 由于是在程序运行中查找错误, 可以说具有较高的说服力和准确性。动态分析技术具有准确率高的优点, 但同时也有操作复杂、对测试人员要求高的缺点, 并且利用动态分析的方式查找漏洞的周期可能较长, 不容易找到分析点, 因此动态分析技术往往运用于一些商业软件的测试当中。

3.4 静态分析技术

静态分析是通过程序的语法、语义来检测目标中可能潜在的安全问题。其基本思想是对测试的目标系统或软件的源代码进行静态分析、扫描, 重点是检查函数的调用、边界检测和缓冲区检测, 也就是对容易在安全方面出现漏洞的代码进行重点的查找、分析, 以期能够发现问题。

静态分析技术需要依赖源程序, 因些它的操作人员往往是软件开发商或被授权的第三方测试人员, 其主要意义是在目标系统开发的早期阶段发现问题并解决。但在静态分析的过程中, 容易出现误报, 因为在实际扫描与测试的过程中, 静态分析工具自身的不完善容易导致漏洞测试结果的不可信。因此, 良好、可信的测试工具对静态分析技术十分重要。

3.5 补丁比较技术

补丁比较也称之为二进制文件比较技术, 在漏洞挖掘中往往是指对“已知”漏洞的探查。这里的“已知”指的是软件的开发商对自己的软件推出漏洞修复丁或版本升级程序, 对比打上补丁前后的二进制文件, 有经验的安全专家就能在较短时间内对未升级前的程序中的漏洞进行准确定位。

补丁比较技术是实际的漏洞挖掘中运用得十分普遍, 对于定位漏洞的具体位置、寻找漏洞解决方式具有十分积极的现实意义。

4 漏洞挖掘技术的发展趋势

4.1 运算并行化

由于漏洞挖掘越来越复杂, 因此需要大量的计算机运算。所以, 漏洞挖掘的运算并行化已经势在必行。新的技术, 如云计算等技术为并行技术的运用提供了实现的基础。

4.2 智能化挖掘

漏洞存在的方式呈现出多样化的特点, 目前尽管已经有智能体、神经网络等新的识别技术, 但智能化的挖掘还需要进一步的发展才能适应不断发展的漏洞挖掘需求。

4.3 综合的漏洞挖掘方案

现在, 单一的漏洞挖掘技术已经越来越难挖掘日益复杂、隐蔽的系统漏洞, 因此, 漏洞挖掘技术的综合化成为未来漏洞挖掘的一个重要方向, 如静态分析与动态分析、FUZZING技术的结合。

摘要:目前, 漏洞挖掘技术在信息安全领域中日趋重要。文章从漏洞的概念出发, 对漏洞挖掘的含义、作用以及主要技术进行了分析与探讨, 并总结了漏洞挖掘技术未来的发展方向。

关键词:漏洞挖掘,手工测试技术,FUZZING技术,动态分析技术,静态分析技术

参考文献

[1]Jon Erickson.黑客之道:漏洞发掘的艺术[M].中国水利水电出版社, 2009.

[2]王清.0day安全:软件漏洞分析技术 (第2版) [M].电子工业出版社, 2011.

[3]王继刚.暗战亮剑-软件漏洞发掘与安全防范实战[M].人民邮电出版社, 2010.

上一篇:健康监测系统下一篇:新生儿泪囊炎