序列模式挖掘 (sequence pattern mining )是指挖掘相对时间或其他模式出现频率高的模式,典型的应用还是限于离散型的序列。
简介
序列模式的概念最早是由Agrawal和Srikant 提出的。
动机:大型连锁超市的交易数据有一系列的用户事务数据库,每一条记录包括用户的ID,事务发生的时间和事务涉及的项目。如果能在其中挖掘涉及事务间关联关系的模式,即用户几次购买行为间的联系,可以采取更有针对性的营销措施。
例:一个事务数据库,一个事务代表一笔交易,一个单项代表交易的商品,单项属性中的数字记录的是商品ID。
序列(Sequence):以SID表示,一个序列即是一个完整的信息流。
项目(Item):序列中最小组成单位的集合,比如在这个样例中的项目为{A, B, C}。
事件(Event):通常用时间戳标志,标识事件之间的前后关系。又叫Itemset,是Item的集合,样例中以EID表示。
k频繁序列:如果频繁序列的项目个数为k,则称之为k频繁序列,以Fk表示(图1的F1,F2,F3)。
序列的包含关系:对于序列x和y,如果存在着一个保序的映射,使得x中的每个事件都被包含于y中的某个事件,则称为x被包含于y(x是y的子序列),例如序列B->AC是序列AB->E->ACD的子序列。
支持度(support):某序列x的支持度是指在整个序列集中包含x的序列的频次。
序列模式定义
给定一个由不同序列组成的集合,其中,每个序列由不同的元素按顺序有序排列,每个元素(交易)由不同项目组成,同时给定一个用户指定的最小支持度阈值,序列模式挖掘就是找出所有的频繁子序列,即该子序列在序列集中的出现频率不低于用户指定的最小支持度阈值。
符号化表示
项目集(Itemset)是各种项目组成的集合
序列(Sequence)是不同项目集(ItemSet)的有序排列,序列s可以表示为s = ,sj(1 <= j <= l)为项目集(Itemset),也称为序列s的元素
序列的元素(Element)可表示为(x1x2…xm), xk(1 <= k <= m)为不同的项目,如果一个序列只有一个项目,则括号可以省略
一个序列包含的所有项的个数称为序列的长度。长度为l的序列记为l-序列
序列挖掘算法步骤
1) 排序阶段。数据库D以客户号为主键交易时间为次键进行排序。这个阶段将原来的事务数据库转换成由客户序列组成的数据库。
2) 频繁项集阶段。找出所有频繁项集组成的集合L。也同步得到所有频繁1-序列组成的集合。
3) 转换阶段。在找序列模式的过程中要不断地进行检测一个给定的频繁集是否包含于一个客户序列中。
4) 序列阶段利用已知的频繁集的集合来找到所需的序列。类似于关联的Apriori算法。
AprioriAll算法
AprioriAll算法与Apriori算法的执行过程是一样的,不同点在于候选集的产生,具体候选者的产生如下:
候选集生成的时候需要区分最后两个元素的前后,因此就有
和两个元素。AprioriSome算法
AprioriSome算法可以看做是AprioriAll算法的改进,具体可以分为两个阶段:
(1)Forward阶段:找出置顶长度的所有大序列,在产生Li后,根据判断函数j=next(last),此时last=i,j>i,下个阶段不产生i+1的候选项,而是产生j的候选项,如果j=i+1,那么就根据Li生成Cj,如果j>i+1,那么Cj就有Cj-1产生。然后扫描数据库计算Cj的支持度。
(2)Backward阶段:根据Lj中的大项集,去掉Ci(i
AprioriAll算法和AprioriSome算法的比较:
(1)AprioriAll用去计算出所有的候选Ck,而AprioriSome会直接用去计算所有的候选,因为包含,所以AprioriSome会产生比较多的候选。
(2)虽然AprioriSome跳跃式计算候选,但因为它所产生的候选比较多,可能在回溯阶段前就占满内存。
(3)如果内存占满了,AprioriSome就会被迫去计算最后一组的候选。
(4)对于较低的支持度,有较长的大序列,AprioriSome算法要好些。
GSP算法
GSP(Generalized Sequential Patterns)算法,类似于Apriori算法大体分为候选集产生、候选集计数以及扩展分类三个阶段。与AprioriAll算法相比,GSP算法统计较少的候选集,并且在数据转换过程中不需要事先计算频繁集。
GSP的计算步骤与Apriori类似,但是主要不同在于产生候选序列模式,GSP产生候选序列模式可以分成如下两个步骤:
(1)连接阶段:如果去掉序列模式S1的第一个项目与去掉序列模式S2的最后一个项目所得到的序列相同,则可以将S1和S2进行连接,即将S2的最后一个项目添加到S1中去。
(2)剪枝阶段:若某候选序列模式的某个子集不是序列模式,则此候选序列模式不可能是序列模式,将它从候选序列模式中删除。
序列模式 VS 关联规则
典型的工具
SAS Enterprise Miner:提供的数据挖掘包括回归、分类和统计分析包。它的特色是具有多种统计分析工具。
SGI的MineSet:提供的挖掘算法有关联和分类以及高级统计和可视化工具。特色是具有强大的图形工具包括规则可视化工具、树可视化工具、地图可视化工具和多维数据分散可视化工具它们用于实现数据和数据挖掘结果的可视化。
ISL的Clementine:为终端用户和开发者提供了一个集成的数据挖掘开发环境。系统集成了多种数据挖掘算法如规则归纳、神经网络、分类和可视化工具。Clementine现已被SPSS公司收购。