序列模式挖掘
序列模式挖掘(sequence pattern mining)是数据挖掘的内容之一,指挖掘相对时间或其他模式出现频率高的模式,典型的应用还是限于离散型的序列。。
其涉及在数据示例之间找到统计上相关的模式,其中数据值以序列被递送。通常假设这些值是离散的,因此与时间序列挖掘是密切相关的,但时间通常被认为是不同的活动。序列模式挖掘是结构化数据挖掘的一种特殊情况。
基础概念
为了帮助大家理解,我这里讲序列是如何产生的稍微描述一下。
例如,一个事务数据库,一个事务代表一笔交易,一个单项代表交易的商品,单项属性中的数字记录的是商品ID
一般为了方便处理,需要把数据库转化为序列数据库。方法是把用户ID相同的记录合并,有时每个事务的发生时间可以忽略,仅保持事务间的偏序关系。
序列(Sequence)
通常以SID表示,一个序列即是一个完整的信息流。每个序列由不同的元素按顺序有序排列,每个元素由不同项目(或者也可以称之为事件)组成,
让我们将其符号化
例:一条序列<(10,20)30(40,60,70)>有3个元素,分别是(10,20),30,(40,70);
3个事务的发生时间是由前到后。其中项目10和项目20是同时发生的,所以处在同一个元素中。这条序列是一个6-序列。
子序列(Subsequence)
设序列
支持度
序列
给定最小支持度阈值
长度为l的序列模式记为l-模式。
序列模式挖掘:找出所有的频繁子序列,即该子序列在序列集中的出现频率不低于最小支持度阈值。
例子:设序列数据库如下图所示,并设用户指定的最小支持度min-support = 2。
序列
序列