实验数据:

实验文件:

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
library(arulesSequences)
 
tmp_data<-data.frame(item=factor(c("A","B","B","A","B","A","C","A","B","C","B","A","B","A","A","B","A","B")))#必须是factor
tmp_data.tran<-as(tmp_data,"transactions")
transactionInfo(tmp_data.tran)$sequenceID<-c(1,1,1,1,1,2,2,2,2,2,2,3,3,3,4,4,4,4)
transactionInfo(tmp_data.tran)$eventID<-c(10,10,20,30,30,20,20,30,30,30,50,10,30,40,30,30,40,50)
transactionInfo(tmp_data.tran)
 
#lab1:基本约束support(默认为0.1)
s_result<-cspade(tmp_data.tran,parameter = list(support = 0.75),control = list(verbose = TRUE))
inspect(s_result)
#   items      support
# 1 <{item=A}>    1.00
# 2 <{item=B}>    1.00
# 3 <{item=A}, 
#    {item=B}>    1.00
# 4 <{item=A,  
#     item=B}>    0.75
# 5 <{item=B}, 
#    {item=B}>    0.75
# 6 <{item=A,  
#     item=B}, 
#    {item=B}>    0.75
# 7 <{item=A}, 
#    {item=A}>    1.00
# 8 <{item=B}, 
#    {item=A}>    0.75
 
#lab2:maxlen约束:每一个序列的event最多只能为n(每一个序列中的“{}”号最多只能为n个)
#英文解释 maxlen: an integer value specifying the maximum number of elements of a sequence (default 10 range > 0).
#element就是指event。所以:sequence包含event(element),event包含item
s_result<-cspade(tmp_data.tran,parameter = list(support = 0.75,maxlen=1),control = list(verbose = TRUE))
inspect(s_result)
#   items      support
# 1 <{item=A}>    1.00
# 2 <{item=B}>    1.00
# 3 <{item=A,  
#     item=B}>    0.75
 
#lab3:maxsize约束:每一个序列的每个event内部最多只能有n个item(每一个序列中的每个{}内部最多有n个items)
#英文解释maxsize: an integer value specifying the maximum number of items of an element of a sequence(default 10, range > 0).
#element就是指event。所以:sequence包含event(element),event包含item
s_result<-cspade(tmp_data.tran,parameter = list(support = 0.75,maxsize=1),control = list(verbose = TRUE))
inspect(s_result)
#   items      support
# 1 <{item=A}>    1.00
# 2 <{item=B}>    1.00
# 3 <{item=A}, 
#    {item=B}>    1.00
# 4 <{item=B}, 
#    {item=B}>    0.75
# 5 <{item=A}, 
#    {item=A}>    1.00
# 6 <{item=B}, 
#    {item=A}>    0.75
 
#lab4:mingap:所有的相邻的两个eventID的差大于mingap
#英文解释mingap: an integer value specifying the minimum time difference between consecutive elements of a sequence (default none, range >= 0).
s_result<-cspade(tmp_data.tran,parameter = list(support = 0.75,mingap=19),control = list(verbose = TRUE))
inspect(s_result)
#   items      support
# 1  <a href="http://4seohunt.biz/rep/bannerweb.upstate.edu">bannerweb.upstate.edu</a> <{item=A}>     1.00
# 2 <{item=B}>    1.00
# 3 <{item=A}, 
#    {item=B}>    1.00
# 4 <{item=A,  
#     item=B}>    0.75
# 5 <{item=B}, 
#    {item=B}>    0.75
# 6 <{item=A,  
#     item=B}, 
#    {item=B}>    0.75
#分析:缺少了实验lab1中的
# 7 <{item=A}, 
#    {item=A}>    1.00
#eventid只差分别是:sid=1时,eventid=30-10=20>19。sid=2时,eventid=30-20=10不>19。sid=3时,eventid=40-10=30>19。sid=4时,eventid=40-30=10不>19。即supp=2/4=0.5
# 8 <{item=B}, 
#    {item=A}>    0.75
#eventid只差分别是:sid=1时,eventid=30-10=20>19。sid=2时,无b->a。sid=3时,eventid=40-30=10不>19。sid=4时,eventid=40-30=10不>19。即supp=1/4=0.25
 
#lab5:maxgap:所有的相邻的两个eventID的差小于等于maxgap
#英文解释maxgap: an integer value specifying the maximum time difference between consecutive elements of a sequence (default none, range >= 0).
s_result<-cspade(tmp_data.tran,parameter = list(support = 0.75,maxgap=19),control = list(verbose = TRUE))
inspect(s_result)
#   items      support
# 1 <{item=A}>    1.00
# 2 <{item=B}>    1.00
# 3 <{item=A}, 
#    {item=B}>    0.75
# 4 <{item=A,  
#     item=B}>    0.75
# 5 <{item=B}, 
#    {item=A}>    0.75
#分析:和实验lab1中数据的差别
#lab1中
# 3 <{item=A}, 
#    {item=B}>    1
#lab5中
# 3 <{item=A}, 
#    {item=B}>    0.75
#eventid只差分别是:sid=1时,eventid=30-20=10小于等于19,30-10=20不小于等于19。sid=2时,50-20=30不小于等于19,50-30=20不小于等于19,30-20=10小于等于19。sid=3时,eventid=30-10=20不小于等于19。sid=4时,eventid=40-30=10不小于等于19,50-40=10小于等于19。即supp=3/4=0.75
 
#lab6:maxwin:
#--------

arulesSequences包做序列模式的关联分析的更多相关文章

  1. 使用VEGAS2(Versatile Gene-based Association Study)进行gene based的关联分析研究

    gene-based关联分析研究是SNP-based关联分析研究的一个补充. 目前有很多工具支持gene-based关联分析研究,比如GCTA,VEGAS2等. 下面主要介绍一下怎么用VEGAS2做g ...

  2. R系列:关联分析;某电商平台的数据;做捆绑销售和商品关联推荐

    附注:不要问我为什么写这么快,是16年写的. 一.分析目的 I用户在某电商平台买了A,那么平台接下来应该给用户推荐什么,即用户在买了商品A之后接下来买什么的倾向性最大: II应该把哪些商品在一起做捆绑 ...

  3. 更新几篇之前写在公众号上的文章:线性可分时SVM理论推导;关联分析做捆绑销售和推荐;分词、去停用词和画词云

    适合阅读人群:有一定的数学基础. 这几篇文章是16年写的,之前发布在个人公众号上,公众号现已弃用.回过头来再看这几篇文章,发现写的过于稚嫩,思考也不全面,这说明我又进步了,但还是作为学习笔记记在这里了 ...

  4. 关联分析Apriori算法和FP-growth算法初探

    1. 关联分析是什么? Apriori和FP-growth算法是一种关联算法,属于无监督算法的一种,它们可以自动从数据中挖掘出潜在的关联关系.例如经典的啤酒与尿布的故事.下面我们用一个例子来切入本文对 ...

  5. GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing

    现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...

  6. 【数据挖掘】关联分析之Apriori(转载)

    [数据挖掘]关联分析之Apriori 1.Apriori算法 如果一个事务中有X,则该事务中则很有可能有Y,写成关联规则 {X}→{Y} 将这种找出项目之间联系的方法叫做关联分析.关联分析中最有名的问 ...

  7. UDP主要丢包原因及具体问题分析

    UDP主要丢包原因及具体问题分析 一.主要丢包原因   1.接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来 ...

  8. Apriori 关联分析算法原理分析与代码实现

    前言 想必大家都听过数据挖掘领域那个经典的故事 - "啤酒与尿布" 的故事. 那么,具体是怎么从海量销售信息中挖掘出啤酒和尿布之间的关系呢? 这就是关联分析所要完成的任务了. 本文 ...

  9. 全基因组关联分析(Genome-Wide Association Study,GWAS)流程

    全基因组关联分析流程: 一.准备plink文件 1.准备PED文件 PED文件有六列,六列内容如下: Family ID Individual ID Paternal ID Maternal ID S ...

随机推荐

  1. POJ3680_Intervals

    给你若干个区间,每个区间有一个权值,你可以选出某些区间,使得在保证没有任何一段的覆盖次数超过k的前提下,总的权值最大. 这个建模真的十分神奇,赞一个. 对于给出的每一个区间,离散化,最终我们可以知道所 ...

  2. 【Java学习笔记】<集合框架>对字符串进行长度排序

    package 测试; import java.util.Comparator; public class ComparatorByLength implements Comparator { //定 ...

  3. 再见Unity3d的死循环

    前两天看见http://www.manew.com/thread-89909-1-1.html这篇译文之前几个小时刚好解决了一个莫名的死循环问题,然后忍不住要把另外一种方法告诉蛮友们.这个方法不需要知 ...

  4. 鼠标模拟点击a标签

    今天写程序遇到的,想要用鼠标模拟点击a标签 html代码如下: <a id="jump"></a> js代码如下: var page = ....; $(' ...

  5. 斯坦福第七课:正则化(Regularization)

    7.1  过拟合的问题 7.2  代价函数 7.3  正则化线性回归 7.4  正则化的逻辑回归模型 7.1  过拟合的问题 如果我们有非常多的特征,我们通过学习得到的假设可能能够非常好地适应训练集( ...

  6. Excel VBA自动添加证书

    ---恢复内容开始--- 在说这个话题之前,我先解释一下为什么要加数字证书签名,它有什么作用,后面再解释如何添加.首先解释下证书添加的位置,如下图所示: 1.单击左上角的Office 按钮,选择右下角 ...

  7. Python 迭代dict 效率

    迭代dict也要讲求效率,不然就要走进性能陷阱 以下三种迭代方式:keys,iterkeys, hashkey import timeit DICT_SIZE = 100 * 100000 testD ...

  8. React与ES6(一)开篇介绍

    React与ES6系列: React与ES6(一)开篇介绍 React和ES6(二)ES6的类和ES7的property initializer React与ES6(三)ES6类和方法绑定 React ...

  9. .Net中的Debug模式和Release模式

    1.Debug模式和Release模式 在vs中,运行程序有两种模式:Debug和Release 在bin目录下也会生成对应的文件夹,用于存放生成的dll等文件,这两种模式的区别如下: Debug:用 ...

  10. Python成长笔记 - 基础篇 (五)

    1.装饰器: 装饰器:器代表函数的意思,装饰器就是一个函数,作用是用来装饰其他的函数 原则: 1.不能修改被装饰函数的源代码 2.不能修改被装饰函数的调用方式 实现装饰器所需要的知识: 1.函数即变量 ...