PrefixSpan算法原理
1、简介
PrefixSpan算法的全称是Prefix-Projected Patten Growth,即前缀投影的模式挖掘,是一种关联规则挖掘算法,与Apriori算法,Fp-Growth算法一样,它们都是挖掘某个出现次数频繁的算法。Apriori和Fp-Growth算法都是挖掘频繁项集,而PrefixSpan算法挖掘的是频繁序列。
2、 概念
左边的数据记录称为项集,右边的数据记录称为序列。
左边表格的每一条记录称为项集(由不同字母组成)。
右边表格的每一条记录,是由多个项集组成的,并且组成序列的项集是有先后顺序的。
3、前缀、前缀投影(前缀投影又称后缀)的概念
对上面的表格求(a)元素的前缀及前缀投影,如下: 求前缀投影的方法是:对每条数据记录,从头开始扫描,如果不是前缀就删除这个元素,如果这个元素和前缀相同,也删除这个元素,此时对这一条记录停止扫描,并开始下一条数据记录的扫描。 _d符号:下划线称为占位符,这条元素数据记录为( ad )( c )( bc )( ae ),求a的前缀投影,从头开始扫描这条数据记录,第一个元素与和前缀a相同,此时发现a所在的项集有2个及2个以上的元素(即ad在同一个项集),那么删除a后,要用一个占位符下划线,代替a的位置。 同理,可求前缀(a)(a)的投影为:4、PrefixSpan算法原理及流程
PrefixSpan算法的目的是挖掘出满足最小支持度的频繁序列,和Apriori算法类似,它是从长度为1的前缀开始挖掘序列模式,搜索对应的前缀投影数据库,得到长度为1的前缀对应的频繁序列,然后递归的挖掘长度为2的前缀对应的频繁序列,依此类推。直到某个前缀的前缀投影数据库为空时结束。
下面举例说明:所用数据库如下,设置的最小支持度为2: