PrefixSpan算法详解

一、序列模式挖掘简介

序列模式的概念最早是由Agrawal和Srikant 提出的。

动机:大型连锁超市的交易数据有一系列的用户事务数据库,每一条记录包括用户的ID,事务发生的时间和事务涉及的项目。

如果能在其中挖掘涉及事务间关联关系的模式,即用户几次购买行为间的联系,可以采取更有针对性的营销措施。

二、事务数据库实例

例:一个事务数据库,一个事务代表一笔交易,一个单项代表交易的商品,单项属性中的数字记录的是商品ID

一般为了方便处理,需要把数据库转化为序列数据库。方法是把用户ID相同的记录合并,

有时每个事务的发生时间可以忽略,仅保持事务间的偏序关系。


三、prefixspan

前缀

假设所有的项在一个元素中按照字母表的顺序排列出来。给定一个序列α=<e1e2…en>

(在这里每一个e都和在S中给定的连续的元素相一致)和一个序列β=<e1’e2’…em’>(m≤n).只有如果:

1、ei’=ei(i≤m-1),2、em’∈em  ,3、所有在(em—em’)的连续项在em’中都是按照字母表顺序排列的,

那么我们就说β是α的一个前缀。

例如:<a>,<aa>,<a(ab)>和<a(abc)>都是序列s=<a(abc)(ac)d(cf)>的前缀,但是如果每个项都在S中的序列s是连续的,

那么<ab>和<a(bc)>都认为是<a(abc)>的一个前缀。

后缀

序列α关于子序列β = <e1e2… em-1em’>的投影为α’ = <e1e2… en> (n >= m),则序列α关于子序列β的后缀为<em”em+1… en>, 

其中em” = (em - em’)。

例如:对于序列s=<a(abc)(ac)d(cf)>,<(abc)(ac)d(cf)>就被认识为是关于前缀<a>的后缀,

<(-bc)(ac)d(cf)>就被认为是关于前缀<aa>的后缀,<(-c)(ac)d(cf)>就被被认为是关于前缀<a(ab)>的后缀。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值