一、序列模式算法概述
序列模式挖掘是数据挖掘的一个重要分支,主要用于发现数据集中的序列模式,即按照时间或其他顺序排列的事件模式。
二、AprioriAll算法(基于Apriori思想的序列模式挖掘算法)
-
原理
- 频繁序列生成:类似于Apriori算法用于关联规则挖掘的思想。首先,找出所有长度为1的频繁序列(单项序列),通过扫描数据集,统计每个单项序列的出现次数,满足最小支持度阈值的即为频繁1 - 序列。然后,通过频繁 k − 1 k - 1 k−1 - 序列来生成候选 k k k - 序列。对于两个频繁 k − 1 k - 1 k−1 - 序列,如果它们的前 k − 2 k - 2 k−2个元素相同,并且最后一个元素不同,就可以将它们合并生成一个候选 k k k - 序列。之后,再次扫描数据集来计算候选 k k k - 序列的支持度,筛选出频繁 k k k - 序列。这个过程不断迭代,直到不能生成新的频繁序列为止。
- 支持度计算:序列的支持度定义为包含该序列的序列数量占总序列数量的比例。假设数据集 D D D中有 n n n个序列,序列 s s s出现的次数为 m m m,则序列 s s s的支持度为:
S u p p o r t ( s ) = m n Support(s)=\frac