第九讲 序列规则(sequence Association)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CLEMENTINE 12
----SEQUENCE NODE
SEQUENCE NODE
SEQUENCE简介
序列模式发现指的是一定时间内项目间的共同
出现(co-occurrence),它构建于关联的基本结构上,和关联有些类似,不过在分析和产生规则时把时间的概念加了进去。
Sequence在找
出先后发生事物的关系,重点在于分析数据
间先后序列关系;关联规则是找出某一事件
或数据中会同时出现的状态。
序列模式例子如,“9 个月以前购买奔腾PC 的客户很可能在一
个月内订购新的CPU 芯片”。
由于很多商业
交易、电传记录、天气数据和生产过程都是时间序列数据,在针对目标市场、客户吸引、气象预报等的数据分析中,序列模式挖掘是很有用途的。
序列模式VS 关联规则
问题序列模式挖掘关联规则挖掘数据集序列数据库事务数据库
关注点单项间在同一
事务内以及事
务间的关系单项间在同一事务内的关系
SEQUENCE简介
序列模式的概念最早是由A g r a w a l和S r i k a n t
提出的。
动机:大型连锁超市的交易数据有一系列的用
户事务数据库,每一条记录包括用户的I D,事务发生的时间和事务涉及的项目。
如果能在其中挖掘涉及事务间关联关系的模式,即用户几次购买行为间的联系,可以采取更有针对性的营销措施。
SEQUENCE简介
ØSequence将顺序分析与在数据研究和预测中使用的群集方法结合在了一起。
顺序群集模型对事物发生次序很敏感。
Ø群集算法还考虑到记录群集中的其他属性,可以开发关联顺序和非顺序信息的模型。
事务数据库实例
例:一个事务数据库,一个事务代表一笔交易,
一个单项代表交易的商品,单项属性中的数字记录的是商品I D
序列数据库
一般为了方便处理,需要把数据库转化为序列
数据库。
方法是把用户I D相同的记录合并,有时每个事务的发生时间可以忽略,仅保持事务间的偏序关系。
项集(I t e m s e t)是所有在序列数据库出现过的
单项组成的集合
例:对一个用户购买记录的序列数据库来说,
项集包含用户购买的所有商品,一种商品就是一个单项。
通常每个单项有一个唯一的I D,在数据库中记录的是单项的I D。
元素(E l e m e n t )可表示为(x
1x 2…x m ),x k
(1 <= k <= m )为不同的单项。
元素内的单项不考虑顺序关系,一般默认按照I D 的字典序排列.
在用户事务数据库里,一个事务就是一个元素。
序列(S e q u e n c e )是不同元素(E l e m e n t )的有序
排列,序列s 可以表示为s = <s 1s 2…s l >,s j
(1 <= j <= l )为序列s 的元素
一个序列包含的所有单项的个数称为序列的长
度。
长度为l 的序列记为l -序列
例:一条序列<(10,20)30(40,60,70)>有3个元
素,分别是(1020),30,(4060 70);
3个事务的发生时间是由前到后。
这条
序列是一个6-序列。
设序列α= <a
1a 2…a n >,序列β= <b 1b 2…b m >,a i 和b i 都是元素。
如果存在整数1 <= j 1 < j 2 <…< j n <= m ,使得a 1 ⊆b j 1,a 2 ⊆b j 2,…,a n ⊆b j n
,则称序列α为序列β的子序列,又称序列β包含序列α,记为α⊆β。
SEQUENCE CLUSTERING评估标准ØInterest
ØSupport
ØConfidence
INTEREST
Ø当某一规则或序列满足一定水平的可信度和普遍性,称为Interest。
Ø通常以Support和Confidence来衡量规则或序列的Interest。
Ø测量一个规则在数据集中多常发生的指针,表示一个规则的显著,LHS →RHS 是一个规则,LHS 表示左手规则,RHS 表示右手规则。
Ø其中N 表示资料总数,n (L H S )表示包含左手边的
个数。
()()n LHS RHS Support p LHS RHS N ∩==∩
Ø以下为Sequence Clustering表示法:
Ø序列s=(s1,s2,…..,sn),若s包含在一个资料序列中,则称资料序列支持s。
Ø序列s的Support(s)=(包含s的资料序列总数)/(数
据库中数据序列总数)
Ø若Support (s)大于等于Min(Support),称s为频繁序列。
ØSequenceClustering目的在找出数据库中所有频
繁序列的集合。
问题定义
例子:设序列数据库如下图所示,并设用户指定的
最小支持度m i n-s u p p o r t=50%。
Sid Sequence
10<a(abc)(ac)d(cf)>
20<(ad)c(bc)(ae)>
30<(ef)(ab)(df)cb>
40<(af)cbc>
l序列<a(b c)d f>是序列<a(a b c)(a c)d(c f)>的子序列
l序列<(a b)c>是长度为3的序列模式
CONFIDENCE
Ø表示规则的强度,值介于0和1之间,当接近1时,表示是一个重要的规则。
()
()()
()n RHS LHS p RHS LHS Confidence n LHS p LHS ∩∩==
SEQUENCE的优点
Sequence是基于CARMA关联规则算法,CARMA关联规则算法使用高效的两遍法发现序列。
此外,由Sequence Node(序列节点)建立的产生模型节点可以插入到流(stream)中产生预测。
产生模型节点还能产生超级节点(Super Nodes),用于发现特定序列并计数,并根据特定序列作出预测。
序列模式挖掘的应用背景应用领域:
客户购买行为模式预测
W e b访问模式预测
疾病诊断
自然灾害预测
D N A序列分析
应用案例1
:客户购买行为模式分析
B2C电子商务网站可以根据客户购买纪录来分析客户购买行为模式,从而进行有针对性的营销策略。
ID User transaction sequence
1…………………………………………………………..
2………………………………………………
3……………………………………………………..
4………………………………….图书交易网站将用户购物纪录整合成用户购物序列集合
得到用户购物行为序列模式<(“U M L语
言”)(“V i s i o2003实用技
巧”)>
相关商品推荐:如果用
户购买了书籍“U M L语
言”,则推荐
“V i s i o2003实用技巧”
应用案例2:W e b
访问模式分析
大型网站的网站地图(s i t e
m a p )往往具有复杂的拓扑结构。
用户访问序列模式的挖掘有助于改进网站地图的拓扑结构。
比如用户经常访问网页w e b 1然后访问w e b 2,而在网站地图中二者距离较远,就有必要调整网站地图,缩短它们的距离,甚至直接增加一条链接。
Index 网站入口
web1
web2
应用案例3:疾病诊断
医疗领域的专家系统可以作为疾病诊断的辅助决策
手段。
对应特定的疾病,众多该类病人的症状按时间顺序被记录。
自动分析该纪录可以发现对应此类疾病普适的症状模式。
每种疾病和对应的一系列症状模式被加入到知识库后,专家系统就可以依此来辅助人类专家进行疾病诊断。
例:通过分析大量曾患A类疾病的病人发病纪录,
发现以下症状发生的序列模式:<(眩晕)(两天后低烧37-38度)>
如果病人具有以上症状,则有可能患A类疾病
应用案例4:查询扩展
查询扩展是搜索领域一个重要的问题。
用户提交
的查询往往不能完全反映其信息需求。
一些研究工作尝试用用户的查询序列模式来辅助原始查询,其主要思想是:
1)挖掘用户的查询序列模式
2)用这些序列模式构造查询词关系图
3)找到每个极大全连通图作为一个”概念”
4)对于一个查询,和它同处于一个”概念”的查询
可以作为查询扩展的选项
应用案例4
:查询扩展
给定一组查询模式:<(丰田)(雷诺)>, <(宝
马)(丰田)>,<(丰田)(宝马)>,<(宝马)(雷诺)>,<(汽车)(丰田)> 查询关系图如上图.
丰田
雷诺宝马汽车概念1:汽车
品牌
概念2:汽车
连续ID :如果数据已预先排序,以使ID 相同的所有记录在数据串流中同时出现,选择该选项以加快数据处理。
内容字段:指定模型的内容字段元这些字段包含对序列建模有用
的事件。
时间字段:如果想在数据中使用字段表明事件发生的时间,选择Use time field (使用时间字段)并指定要用的字段。
时间字段必须是数值型。
如果不指定任何时间
字段,则假定记录按序从数据源到达,用记录号作为时间值。
ID 字段:从列表中选择一个ID 字段,数值型字段或字符型字段都可作为ID 字段。
该字段中的每一个唯一值应当表明一个具体的分析单元。
最大序列大小:可以指定序列中不同项目集的最大个数。
新增至串流的预测:指定新增到最终产生模型节点串流中的预测数。
最小规则信心度:可以指定将序列保留在序列集中的信心准则。
信心是指在所有作预测的I D 中预测正确的I D 百分比。
信心的计算是用在训练集中找到的完整序列I D 的数目除以仅有A n t e c e d e n t (前项)条件的I D 数目。
信心比指定值低的序列将被剔除。
最小规则支持:可以指定交易占有率准则。
交易占有率是指训练集中包括完整序列的I D 比例。
设定内存中的最大序列:如果选择了该选项CARMA 算法会在建模过程中将内存备选序列数限制为指定序列数。
设定最大持续期:如果选择了该项,则将仅限于持续时间(第一个项目集和最后一个项目集之间的时间)小于或等于指定时间的序列。
设定删修值:Sequence Node (序列节点)中所用的CARMA 算法在处理过程中周期性的从潜在项目集列表剔除(删修)不常出现的项目集以节省内存。
选择该选项调整删修的次数,所指定的值决定删修的次数。
项目集合间的限制差距:该选项允许指定分隔项目集的时间间隔。
如果选择了该选项,则时间间隔小于指定的Minimum gap (最小间隔)或者大于指定的Maximum gap (最大间隔)的项目集将不会看作序列的一部分。
使用Clementine12的Demos文件夹中的BASKETS1n档案来做实例演练。
点击Read Values
将资料读入
将Sequence 模块加入,点2下Sequence n o d e ,打开参数设定。
SEQUENCE实例操作
THE END!!!。