FreeSpan 和 PrefixSpan 算法学习

来源:互联网 发布:黑马程序员hadoop 编辑:程序博客网 时间:2024/05/22 10:53

    今天遇到两个比较有名的在频繁模式挖掘领域中经常会使用到的算法:FreeSpan 和 PrefixSpan 算法,说起来,我对这两个算法只能说是了解,但却不能说很明白,正好今天遇到了就索性,查一下资料,整理一下作为今天关于这两个算法的学习笔记,文章末尾会给出来查询使用的资料链接:

    FreeSpan ,即频繁模式投影的序列模式挖掘,其基本思想为:利用频繁项递归地将序列数据库投影到更小的投影数据库集中,在每个投影数据库中生成子序列片段.这一过程对数据和待检验的频繁模式集进行了分割,并且将每一次检验限制在与其相符合的更小的投影数据库中.其基本思想为:利用频繁项递归地将序列数据库投影到更小的投影数据库集中,在每个投影数据库中生成子序列片段.这一过程对数据和待检验的频繁模式集进行了分割,并且将每一次检验限制在与其相符合的更小的投影数据库中.

简单的过程如下:

(1) 首先给定序列数据库S 及最小支持度阈值ζ.
(2) 扫描序列数据库S,找到S中的频繁项集,并以降序排列生成f_list列表。
执行下面步骤:
根据生成的f_list列表把数据库分成几个不相交的子集。只包含第一个项。包含第二个项,但不包含以后的项。包含第N项,但不包含N以后的项。只包含最后一项。
b.第一遍扫描数据库S,找出每个项及其与前一项组成的项在序列数据库中的频度,删除小于最小支持度的项。
d.对生成的大于最小支持度的项递归的挖掘出更长频度的序列。直至最后的投影数据库都是最大的频繁子集。
FreeSpan算法分析:它将频繁序列和频繁模式的挖掘统一起来,把挖掘工作限制在投影数据库中,还能限制序列分片的增长。它能有效地发现完整的序列模式,同时大大减少产生候选序列所需的开销,比基于Apriori的GSP算法快很多。不足之处,它可能会产生许多投影数据库,如果一个模式在数据库中的每个序列中出现,该模式的投影数据库将不会缩减;另外,一个长度为k的序列可能在任何位置增长,那么长度为k+1的候选序列必须对每个可能的组合情况进行考察,这样所需的开销是比较大的。
PrefixSpan算法也是序列模式分析算法的一种,不过与前者不同的是PrefixSpan算法不产生任何的侯选集,在这点上可以说已经比GSP好很多了。PrefixSpan算法可以挖掘出满足阈值的所有序列模式,可以说是非常经典的算法。序列的格式就是上文中提到过的类似于<a, b, (de)>这种的。
参考博客:
http://blog.csdn.net/androidlushangderen/article/details/43766253
http://blog.csdn.net/u011860731/article/details/47685557
http://blog.csdn.net/shuke1991/article/details/52526913
http://zzkshaanxi.blog.163.com/blog/static/19761892009101921142779/


0 0
原创粉丝点击