欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 信息管理 > 关联规则挖掘算法研究

关联规则挖掘算法研究

日期:2023-01-24 阅读量:0 所属栏目:信息管理


摘 要 apriori算法是发现频繁项目集的经典算法,但是该算法需反复扫描数据库,因此效率较低。本文介绍了apriori算法的思想,并分析了该算法的性能瓶颈。在此基础上,针对apriori算法提出了一种改进方法,该方法采用转置矩阵的策略,只扫描一次数据库即可完成所有频繁项目集的发现。与其他经典的算法相比,本文提出的算法在项目集长度较大时,性能明显提高。 关键字 关联规则,支持度,置信度,apriori

1 引言

关联规则挖掘就是在海量的数据中发现数据项之间的关系,是数据挖掘领域中研究的热点问题。1993年agrawal等人[1]首先提出了交易数据库中不同商品之间的关联规则挖掘,并逐渐引起了专家、学者的重视。关联规则挖掘问题可以分为:发现频繁项目集和生成关联规则两个子问题,其中发现所有的频繁项目集是生成关联规则的基础。近年来,发现频繁项目集成为了关联规则挖掘算法研究的重点,在经典的apriori算法的基础上提出里大量的改进算法。savasere等[2]设计了基于划分(partition)的算法,该算法可以高度并行计算,但是进程之间的通信是算法执行时间的主要瓶颈;park等[3]通过实验发现寻找频集主要的计算是在生成频繁2-项集上,利用这个性质park等引入杂凑(hash)技术来改进产生频繁2-项集的方法,该算法显著的提高了频繁2-项集的发现效率;mannila等[4]提出:基于前一遍扫描得到的信息,对此仔细地作组合分析,可以得到一个改进的算法了。针对mannila的思想toivonen[5]进一步提出:先使用从数据库中抽取出来的采样得到一些在整个数据库中可能成立的规则,然后对数据库的剩余部分验证这个结果。toivonen的算法相当简单并显著地减少了i/o代价,但是一个很大的缺点就是产生的结果不精确,存在数据扭曲(data skew)。 上述针对经典apriori算法的改进算法在生成频繁项目集时都需要多次扫描数据库,没有显著的减少i/o的代价。本文在分析了经典的apriori算法的基础上,给出了一种改进的方法,该方法采用转置矩阵的策略,只扫描一次数据库即完成频繁项目集的发现,在项目集长度较大时,性能明显提高。

2 apriori算法

2.1 基本概念

设i={i1, i2,…, im}是二进制文字的集合,其中的元素称为项(item)。定义交易(transaction)t为项的集合,并且tíi,定义d为交易t的集合。设x是i中若干项的集合,如果xít,那么称交易t包含x。项目集中包含项的个数成为项目集长度。 关联规则是形如xþy的蕴涵式,这里xìi, yìi,并且xçy=f。 规则xþy在交易数据库d中的支持度(support)是交易集合中包含x和y的交易数与所有交易数之比,记为support(xþy),即support(xþy)=|{t:xèyít,tîd}|/|d|。 规则xþy在交易集中的置信度(confidence)是指包含x和y的交易数与包含x的交易数之比,记为confidence(xþy),即confidence(xþy)=|{t: xèyít,tîd}|/|{t:xít,tîd}|。给定一个交易集d,挖掘关联规则就是找出支持度和置信度分别大于用户给定的最小支持度(minsup)和最小置信度(minconf)的关联规则。

2.2 基本思想

1994年agrawal等人在项目集格空间理论的基础上提出了用于发现频繁项目集的apriori算法。该算法采用“逐层搜索”的迭代方法,用k-项集生成(k+1)-项集。首先,扫描数据库计算出频繁1-项集的集合(记为:l1);然后,执行下面的迭代过程计算频繁k-项集,直到生成频繁k-项集的集合(记为:lk)为空: ①连接:lk-1进行自连接运算,生成候选k-项集的集合(记为:c k)。所有的频繁k-项集都包含在c k集合中。 ②剪枝:①生成的c k是lk的超集,扫描数据库计算c k中每个候选项目集的支持度,支持度大于用户给定最小支持度的候选k-项目集就是频繁k-项目集。 通过上述的迭代过程,可以发现项目集i在给定数据库d中满足最小支持度的所有频繁项目集。

2.3 算法分析

apriori算法在执行“连接-剪枝”的迭代过程中,需要多次扫描数据库,如果生成的频繁项目集中含有10-项集,则需要扫描10遍数据库,增大了i/o负载。并且在迭代过程中,候选项目集合ck是以指数速度增长的,lk-1自连接会产生大量的候选k-项目集,例如有104个1-项集,自连接后就可以产生大约107个候选2-项集。这些都严重影响了apriori算法的效率。

3 改进的apriori算法

3.1 改进思想

apriori算法在迭代过程中多次扫描数据库和产生大量的候选项目集形成了算法的性能瓶颈。为了提高算法的效率本文进行如下改进: 数据库d中每个交易t都有一个唯一的编号tid。定义k-项集rk=k,tids(xk)>,其中xk=(ij1, ij2, …, ijk),ij1, ij2, …, ijk îi,j1k)是数据库中所有包含xk的交易t的编号tid的集合,即为:tids(xk)={tid : xkít, îd}。根据上面的定义k-项目集rk的支持度可以表示为:support(rk)=|tids(xk)|/|d|=|{tid : xkít, îd}| / |d|。rk的支持数supnum(rk)=support(rk)*|d|=|tids(xk)|。l’k表示k-项集的集合。 改进的apriori算法依然采用“逐层搜索”的迭代方法,迭代过程的“连接-剪枝”运算定义如下: ①连接:设两个(k-1)-项集:l’ k-1 (i)=< xk-1,tids(xk-1) >î l’k-1,l’ k-1 (j)=< yk-1,tids(yk-1) >î l’k-1,ik-1和yk-1的前k-2项相等,即:xk-1[k-2] ≡yk-1[k-2],则(k-1)-项集连接:l’ k-1 (i)∞l’ k-1 (j)= < xk-1

∪yk-1, tids(xk-1) ∩tids(yk-1)>= k,tids(xk)>=rkî l’k;否则,不进行连接运算,因为产生的结果不是重复,就是非频繁项目集,这样可减少计算量。 ②剪枝:计算k-项集的支持数,根据上面的定义supnum(rk)=|tids(xk)|,该计算过程不需要再扫描数据库,避免了i/o操作,提高了算法的效率。如果supnum(rk)≥minsupnum,则< xk , |tids(xk)|> î l;否则,从集合l’k中删除rk

3.2 改进的算法描述

输入:数据库d,最小支持数minsupnum 输出:d中的频繁项目集l 算法描述: ① l’1 = findfrequentoneitemsets(d); //扫描数据库d生成1-项集的集合l’1。 ② for each oneitemset 1, tids(x1)>îl’1 //生成频繁1-项集的集合 if (|tids(x1)| ≥ minsupnum) l = l ∪ {1, |tids(x1)|>}; else l’1 = l’1 - {1, tids(x1)>}; ③ for (k=2; l’k-1≠ф; k++) l’k = l’k-1∞l’k-1; for each k_itemset k, tids(xk)> îl’k if (|tids(xk)| ≥ minsupnum) l = l ∪ {k, |tids(xk)|>}; else l’k = l’k - {k, tids(xk)>}; ④ return l;

3.3 例举

设数据库d表1所示,最小支持数minsupnum=4,运行改进的算法的过程如图所示:

4 总结 改进的apriori算法,只是在生成l’1时进行了一次数据库扫描,在之后的迭代过程中不需要扫描数据库。与文献2,3,4,5中提出的改进算法相比,使用本文提出的算法大大降低了i/o负载,使得频繁项目集的发现速度大大提高,尤其是在项目集长度较大的情况下。算法的迭代过程不需要复杂的计算,项目集连接仅仅使用集合的并、交运算即可完成,使得该算法易于实现,相信该算法具有一定的理论与实用价值。 但是该算法也有不足:为了减少i/o负载,要求在第一次扫描时把所有的信息装入内存,虽然本算法对数据库进行编码,以二元组的形式存储项集,但是数据挖掘都是基于海量数据的,因此,算法运行时需要大量内存,对此将在今后的研究中进行改进。

参考文献

[1] r. agrawal, t. imielinski, and a. swami. mining association rules between sets of items in large databases. proceedings of the acm sigmod conference on management of data, pp. 207-216, 1993 [2] a. savasere, e. omiecinski, and s. navathe. an efficient algorithm for mining association rules in large databases. proceedings of the 21st international conference on very large database, 1995 [3] j. s. park, m. s. chen, and p. s. yu. an effective hash-based algorithm for mining association rules. proceedings of acm sigmod international conference on management of data, pages 175-186, san jose, ca, may 1995 [4] h. mannila, h. toivonen, and a. verkamo. efficient algorithm for discovering association rules. aaai workshop on knowledge discovery in databases, 1994, pp. 181-192 [5] h. toivonen. sampling large databases for association rules. proceedings of the 22nd international conference on very large database, bombay, india, september 1996 [6] 罗可, 贺才望. 基于apriori算法改进的关联规则提取算法. 计算机与数字工程. 2006, 34(4):48-51,55 [7] 蔡伟杰,杨晓辉等.关联规则综述.计算机工程.2001, 27(5):31-33,49 本文链接:http://www.qk112.com/lwfw/jsjlw/xinxiguanli/259561.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学