序贯模型=关联规则+时间因素。

了解这个模型可以参考李明老师的《R语言与网站分析 [李明著][机械工业出版社][2014.04][446页]》,第九章,第二节的“序列模型关联分析”。

以下贴一个网络中关于序贯模型,R语言的arulesSequences包:转载于网易博客:Tony Woo

__________________________________________________________________________________________

今天下午基本上把通过arulesSequences来进行序列模式挖掘搞明白了,晚上又把arulesSequences中最重要的函数cspade查看了一下。Mark一下。

还是先简单写一个模式挖掘的例子。

1、数据准备


假设数据存放在E盘下的test.txt,而且E盘中的数据为:
1 10 2 C D A F H E
1 15 3 A B C E A F
1 20 3 A B F D C F
1 25 4 A C D F D D
2 15 3 A B F 
2 20 1 E
3 10 3 B F
4 10 3 D G H
4 20 2 B F
4 25 3 A G H F
4 30 12 A H H H A F F F A G G G

数据比zaki稍微复杂一些,不过只是多添加了一些个别内容。


2、建模


>x=read_baskets(con="E:/zaki.txt",info=c("sequenceID","eventID","SIZE"))
>s1 <- cspade(x, parameter = list(support = 0.6,maxlen=3), control = list(verbose = TRUE))
>as(s1,"data.frame")


主要就这么三步,就完成了序列模式挖掘。现在需要看一下核心的函数cspade()。


3、cspade函数解释


根据文档,cspade函数结构如下:
cspade(data, parameter = NULL, control = NULL, tmpdir = tempdir())

其实,参数data没啥可说的,就导入transactions类型的数据就可以了。
parameter是设定各种参数,这个还需要认真了解一下。

parameter中,可选的参数有如下几个:

support:0-1之间的一个数值,代表得到的高频序列的最小支持度。
        支持度其实是这样计算的:看上面的data中有4个序列,比如我们要计算{A}的支持度,则直接看{A}在4个序列中出现过几次,用次数再除以4就得到了支持度。至于一次订单中出现多少次A,则对序列挖掘是没啥影响的。

maxsize:一个整数值,代表在寻找高频序列的过程中,任意一个序列里面的每一个元素的最多能有几个项。
        举个例子, <{D,H},{B,F},{A}> 是我们通过序列挖掘得到的一个序列s,那么序列s包含3个元素element,其中第一个元素又包含2个项item。通过设定maxsize,可以在序列挖掘中设定1对1或多对1的不同挖掘方式。

maxlen:一个整数值,代表挖掘的序列最大可以是多长,也即一个序列最多可以有几个元素。
        比如,如果s1 <- cspade(x, parameter = list(support = 0.6,maxlen=2), control = list(verbose = TRUE))  ,那么最终得到的序列可能为: <{D,H},{B}><{A,F,H},{A,F}>

因此,通过maxlen参数可以去挖掘较短的序列。

mingap:一个整数值,确定两个连续的订单之间的最小时间差值,默认为none。
maxgap:一个整数值,确定两个连续的订单之间的最大时间差值,默认为none。
maxwin:一个整数值,确定一个序列中任意两个订单之间的最大时间差值,默认为none。

control其实是对内存了什么的控制,一般用不到,第四个也是用不到。因此,cspade函数主要就parameter的设定。

R语言︱关联规则+时间因素=序贯关联规则的更多相关文章

  1. 关联规则-R语言实现

    关联规则code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && ...

  2. R语言 关联规则

    在用R语言做关联规则分析之前,我们先了解下关联规则的相关定义和解释. 关联规则的用途是从数据背后发现事物之间可能存在的关联或者联系,是无监督的机器学习方法,用于知识发现,而非预测. 关联规则挖掘过程主 ...

  3. R语言实现关联规则与推荐算法(学习笔记)

    R语言实现关联规则 笔者前言:以前在网上遇到很多很好的关联规则的案例,最近看到一个更好的,于是便学习一下,写个学习笔记. 1 1 0 0 2 1 1 0 0 3 1 1 0 1 4 0 0 0 0 5 ...

  4. [R语言]关联规则2---考虑items之间严格的时序关系

    前面介绍了关联规则1---不考虑用户购买的items之间的时序关系,但在一些情况下用户购买item是有严格的次序关系了,比如在某些休闲游戏中,用户购买了道具A才能购买道具B,且道具A和B只能购买一次, ...

  5. [R语言]关联规则1---不考虑items之间的时序关系

    本文介绍的是关联规则,分为两部分:第一部分是---不考虑用户购买的items之间严格的时序关系,每个用户有一个“购物篮”,查找其中的关联规则.第二部分--- 考虑items之间的严格的时序关系来分析用 ...

  6. python调用R语言,关联规则可视化

    首先当然要配置r语言环境变量什么的 D:\R-3.5.1\bin\x64; D:\R-3.5.1\bin\x64\R.dll;D:\R-3.5.1;D:\ProgramData\Anaconda3\L ...

  7. 中部:执具 | R语言数据分析(北京邮电大学)自整理笔记

    第5章工欲善其事.必先利其器 代码,是延伸我们思想最好的工具. 第6章基础编程--用别人的包和函数讲述自己的故事 6.1编程环境 1.R语言的三段论 大前提:计算机语言程序=算法+数据结构 小前提:R ...

  8. R语言书籍的学习路线图

    现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑 ...

  9. R 语言的优劣势是什么?

    R 语言的优劣势是什么? 2015-05-27 程序员 大数据小分析   R,不仅仅是一种语言 本文原载于<程序员>杂志2010年第8期,因篇幅所限,有所删减,这里刊登的是全文. 工欲善其 ...

随机推荐

  1. 3.移植驱动到3.4内核-移植DM9000C驱动

    在上章-使内核支持烧写yaffs2,裁剪内核并制作补丁了 本章,便开始移植以前2.6内核的驱动到3.4新内核 1.介绍 首先内核更新,有可能会重新定义新的宏,去除以前的宏,以前更改函数名等 所以移植驱 ...

  2. 通过url获取相应的location信息

    var properties = ['href', 'origin', 'host', 'hostname', 'port', 'pathname', 'search', 'hash']; var g ...

  3. iOS-CoreText的那些事【电子书的那些事】

    这段时间在搞电子书,把这些天出现的问题归总下,我还是希望电子书的格式包括返回的数据,可直观的反应出客户端想表达的内容:原生的体验还是比较好的,希望对coretext再深入. 1.判断点击的位置是否在某 ...

  4. ABP官方文档翻译 3.2 值对象

    值对象 介绍 值对象基类 最佳实践 介绍 "展现领域描述性层面且没有概念性身份的对象称之为值对象."(Eric Evans). 和实体相反,实体有身份标示(Id),值对象没有身份标 ...

  5. MySQL系统临时表、用户临时表

    MySQL临时表分为系统使用的临时表和用户使用的临时表. 系统使用的临时表是指MySQL在执行某些SQL语句时需要依赖临时表来完成整个过程.系统使用的临时表的情况可以分为以下几种: *  group ...

  6. 除了使用URLSearchParams处理axios发送的数据,但是兼容性不好,其他的兼容方法

    在使用axios这个ajax插件的时候,我们有些时候会遇到一些问题,比如:数据格式不正确 以最简单的例子为基础(这里使用post方法): 在上面的例子中我们直接调用axios的post方法,传给后台的 ...

  7. Dagger2 使用全解析

    Dagger2 使用全解析 Dagger是一个注入工具,何为注入,我们要生产一批机器人,每个机器人都有一个控制器,我们可以在机器人内部 new 出一个控制器: class Robot { val co ...

  8. HP中spl_autoload_register函数的用法

    spl_autoload_register(PHP 5 >= 5.1.2) spl_autoload_register - 注册__autoload()函数 说明bool spl_autoloa ...

  9. bzoj 2217 [Poi2011]Lollipop 乱搞 贪心

    2217: [Poi2011]Lollipop Time Limit: 15 Sec  Memory Limit: 64 MBSec  Special JudgeSubmit: 383  Solved ...

  10. 用Git的hooks实现项目的自动部署

    https://segmentfault.com/a/1190000003836345?_ea=386770 http://blog.csdn.net/wsyw126/article/details/ ...