浅析数据挖掘技术与关联规则挖掘算法

2014-08-30 20:58刘兴明
无线互联科技 2014年8期
关键词:Apriori算法关联规则数据挖掘

刘兴明

摘 要:随着人们对信息数据量的急速增长从而数据挖掘技术也随之应运而生,这使得人们对知识与信息的渴求得到了进一步满足。对于如何才能快速高效的获取知识,对于信息处理技术来说已经成为当前热门的研究课题。审视当前对于关联规则的研究现状,针对关联研究的现状,分析实际问题对于关联规则总结出一种新的研究方式,结论为关联规则算法在今后的出路和进一步的研究上指明了方向。研究过程中通过对文献的查询分析和比较分析两种方法,进一步阐述对典型关联产生影响的各种方法,其中最为重要的是把核心Apriori算法作为一个研究的基点。

关键词:数据挖掘;关联规则;典型关联;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.

[6]马盈.基于MapReduce构造多维数据及关联规则挖掘算法的研究与应用[D].东北师范大学,2013.

猜你喜欢
Apriori算法关联规则数据挖掘
探讨人工智能与数据挖掘发展趋势
基于并行计算的大数据挖掘在电网中的应用
基于Hadoop平台的并行DHP数据分析方法
基于Apriori算法的高校学生成绩数据关联规则挖掘分析
基于云平台MapReduce的Apriori算法研究
关联规则,数据分析的一把利器
关联规则挖掘Apriori算法的一种改进
基于关联规则的计算机入侵检测方法
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究