关于数据挖掘技术与关联规则挖掘算法的研究
2014-11-12郭涛门瑞
郭涛 门瑞
摘 要:随着计算机技术和网络通信技术的不断发展,数据信息逐渐成为当前社会各行各业发展的关键。当今社会人们对计算机应用提出了更高要求,如今人们慢慢的意识到关系数据库有很多缺点和限制,这种问题又推动了数据库在更深领域上的研究。
关键词:数据挖掘;关联规则
1 数据挖掘技术
1.1 数据挖掘概念
从数据挖掘的本质上说它是一种具有更高商业价值的新型信息处理技术,数据挖掘技术的作用是对数据的应用来说的,其目的是使人们从低层次的联机查询过渡到对数据决策支持分析预测上,从而成为更高层次的应用。
1.2 数据挖掘技术分类
关于数据挖掘针对其挖掘的对象,大致的可以做出以下分类,具体分为时态数据库、异质数据库、文本数据源、关系数据库面向对象数据库(Object-Oriented Database)、空间数据库、遗产数据库、多媒体数据库以及web等比较具有针对性的挖掘对象。针对数据挖掘的方法大致的可以归纳为:计算机学习法、数理统计法、信息聚类分析法、遗传算法Genetic Algorithm、神经网络Neural Network探索性分析法、不确定性推理和近似推理法、数据分析法、证据理论和元模式法、数据集成方法、当代数学分析法等。
1.3 数据挖掘应用分析
根据种种数据分析所表明的问题我们不难发现数据挖掘技术面向实际应用方面不是一时的,随着时代的发展社会信息化进程不断加剧各行业的业务操作也随之逐渐向现代化流程转变,这一转变促使企业在处理业务时产生大量的业务信息数据。对于一般地企业内部的业务信息数据来说,其主要是由企业进行商业运作而产生的数据,这些数据的量一般比较少。这是都是企业为了获得市场分析而进行收集的,关于此类的数据挖掘的应用终将成为企业进行高层次数据分析,为行政决策提供技术支持的骨干技术。
2 时态约束关联规则挖掘问题及算法
2.1 聚焦挖掘任务,提高挖掘效率
数据挖掘理论最初的研究侧重点是模型的建立以及算法的设计。随着应用于不同的场合,得出的结果证明单纯而又孤立的挖掘工具效果并不理想。传统的数据挖掘项目中,会进行详尽而反复的调研分析,并根据用户的需求制定细致的任务计划,最终的结果却并不理想,不能得到想要的结果。在算法中,如果想要得到用户的挖掘目标,除了算法之外,还需要有特定的实现机制,使得我们的挖掘计划能够转变成对一个系统工作的控制,这样才能使得挖掘项目能有期望的结果。这样的约束,不需要局限于某一个挖掘数据的阶段,在任何阶段都可以实现。而这样的算法机制,也是交互式数据挖掘算法的基本形式,通过这样的过程,来达到更好以及快速地完成挖掘任务。
2.2 保证挖掘的精确性
从数据挖掘的算法也可以看出,结果具有不可预测性,而正因此,对于算法运行的过程中,遇到的问题也是难以把握的,所以算法还需要加上反馈机制,通过这样的反馈,来进行验证结果并修正算法中的数据,如果这个过程中,挖掘到的数据是正确的,但也未必是用户所侧重的,所以数据挖掘的结果不仅要具有逻辑上的正确性,还要能够满足用户的主管偏好;也就是既要准确,还要可信且符合用户需求。而约束就是这样实现的,通过约束发现算法中的问题并及时校正算法,以最终能够满足各项需求。
3 数据分割下的挖掘问题及算法
对于理论基础比较成熟的算法——Apriori算法,研究的侧重点已经变为效率问题,人们也提出了各种的改进算法,本文选区几种比较有代表性的加以介绍。
3.1 减少事务的个数
这样的原理在于,当需要处理的事务不包含长度为k的大项集,那么也一定不包含长度为k+1的大项集。在算法处理的过程中,就可以将这样的事务滤去,在下轮扫描过程中,就可以不需要那么多的事务集。
3.2 基于划分的方法
这类算法的比较典型的是频繁项目生成算法,该算法原理在于:把数据库分解成逻辑上互不交叉的部分,而每次只需要单独考虑一个分块,在这样的分块中,研究怎样能够发掘频繁项目集;而对于怎样将数据进入存储中,可以把需要处理的分块放入计算机内存中,这样有利于算法的并行处理,数据量相对于不分块前减少,提高了数据挖掘的速度。
3.3 基于hash的方法
在上述的发现频繁项目集的算法中,有人提出了改进算法,基于杂(hash)技术产生频繁项目集。而这也是他们在实验基础上提出的,因为实验中,他们发现频繁项目集的产生过程中,计算量主要集中在2-频繁项目集上,他们通过杂凑技术来对这个问题加以解决,把需要扫描的项目分发于不同的Hash桶,而对于每对项目来说,最多只可能在一个特定的桶内,然后通过实验分析,可以有效地降低了候选集的产生。
3.4 基于采样的方法
基于抽样技术的产生频繁项目集的算法的原理在于:通过对数据库进行抽样,产生一些可能成立的规则,然后通过数据库的未被抽样数据,进行检验,这些关联规则是否是否有效。其实这个算法本身相对比较容易实现,并且能够极大地减少数据挖掘过程中所付出的I/O代价,而不利的地方在于,抽样数据的随机性以及由此带来的结果的偏差比较大。
3.5 尽量减少数据库的扫面次数
早在1997年,Brin等一些研究人员就提出了一种用来减少数据库扫面次数的算法,这种算法实际上就是通过下层分析方法来提前处理。换句话说,当我们正在运行k-项集时,如果发现(k+1)-项集有极大可能会是频繁项目集,那么我们就直接将两者进行并行运算,进而得出(k+1)-项集支持度。这样的做法能够在很多程度上降低数据库扫描次数,从而在运行效率上要优于Apriori算法。
4 结论
数据挖掘技术与关联规则挖掘算法所包含的内容有很多,本文只是简单介绍了其中较为重要的一部分。在今后的工作中,笔者将继续致力于该领域的研究工作,以期能够获得更多有价值的研究成果。
[参考文献]
[1]孟海东,李丹丹,吴鹏飞.基于数据场的量化关联规则挖掘方法设计[J].计算机与现代化.2013,01:8-11.