- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于投影数据库的SPAM算法
摘要:序列模式挖掘是数据挖掘的重要分支,关于序列模式挖掘的算法非常多,SPAM算法就是序列模式挖掘算法的一种,Perfixspan算法(基于投影的算法)也是序列模式挖掘算法的一种。SPAM算法和Perfixspan算法各有优缺点。研究这两种算法的基础上给出了一种结合这二种算法优点进行改进的算法。
关键词:SPAM算法;Perfixspan算法;序列模式;数据挖掘
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)07-1537-03
An Algorithm of SPAM Based on Projected Database
CHEN Jing-qiang, WENG Zheng-qiu
(City College, Wenzhou University, Wenzhou 325035, China)
Abstract: Sequence pattern mining is an important part of Data Mining, and there are many algorithms on it. The algorithm of SPAM is one of most efficient algorithms, so as that of Perfixspan. SPAM and Perfixspan have their advantages and disadvantages respectively. Both algorithms is studied and a new efficient one is proposed.
Key words: SPAM; perfixspan; sequence mining; data mining
数据库中知识发现所感兴趣的数据中,有一类属于所谓的序列数据,即有序事件序列数据,如常见的时间和空间序列关系。数据间的序列关系中经常隐藏着有价值的信息。如证券市场上随时间变动的交易价格,存在着某些局部规律,掌握这些规律可以指导证券交易的参与者。关于序列模式挖掘算法,国内外很多人提出了不同的算法,其中最经典的是AprioriAll、Apriorisome、Dynamicsome三种算法[1],都基于Apriori性质,将Apriori改造而成使用序列模式挖掘应用的算法。之后又有AprioriAll的改进算法GSP,其时间效率大幅提高,候选集大幅减少。此外,文献[2]中提出了基于垂直数据库的SPADE算法、文献[3]中提出了基础投影的Prefixspan算法,首次将前缀以及投影的概念引入到了序列模式挖掘领域,通过实验和理论验证它可以发现数据库用户序列支持。
本文简要介绍基于垂直数据库的SPAM算法和基于投影数据库的PerfixSpan,文章的重点内容是将投影数据库的思想引入到SPAM算法,对SPAM算法进行改进,使其算法效率能在一定程度上提高。
1 关于SPAM算法
Ayres在文献[4]中提出的算法SPAM(Sequential Pattern Mining using Bitmap Representation),将文序列的表示方式和网格划分概念加以融合,将序列的表示改为了垂直位图的表示方式,更加便于统计序列的用户支持度。
算法在首次扫描数据库时,为数据库中的每一个项建立一个纵向的位图。每一项的位图中按用户ID排序,如果该项在用户序列的某位置上出现,则位图中对应该位置的位上置为1,否则置为0。序列的大小是指序列中包含的项集的个数,即同一用户的事务个数。如果序列大小在2k+1和2k+l的范围内,则其在数据库中对应的位图用2k+l位表示,K的最小值为1。即无论序列的长度是小于还是等于4,在数据库的位图表示中都是用的4位。
例如,用SRAM算法对表1中顾客序列数据库S进行初始化。
为表1进行SPAM算法处理,把它用位图表示如表2所示。
c001有4个项集,因此用4位二进制表示,c002只有3个项集,所以用4位二进制表示。
现设最小支持度为2,只要统计某项的1的个数就可以得出该项的支持度了,上表中a的支持度为4,b为1,c为3,d为2,所以只有b是不频繁的。在进行连接的时候也只对两个都是频繁项进行连接。比如,a和c两项都是频繁的项,可以对两项进行连接,连接的方式有两种,一种是序列扩展,简称SES,如对a和c进行连接时,序列扩展可以扩展成(a)(c),这种是序列扩展的方式;另一种是项扩展,简称IES,如对a和b进行项扩展,扩展的结果是(ac);以上就是2中连接的方式,在进行连接时要对这2种连接的方式分别考虑。
文档评论(0)