r - 使用 SPADE 解释序列挖掘的结果

标签 r algorithm sequences

请帮忙解读一下SPADE频繁序列挖掘算法的结果(http://www.inside-r.org/packages/cran/arulesSequences/docs/cspade )

支持 = 0.05:

s1 <- cspade(x, parameter = list(support = 0.05), control = list(verbose = TRUE))

例如,我得到这些序列:

4          <{C},{V}> 0.15644023
5            <{C,V}> 0.73127376

看起来这些是相同的序列,不是吗? <{C},{V}> 在语义上与 <{C,V}> 有何不同?有没有现实生活中的例子?

来自 Spade 论文(M. J. Zaki. (2001). SPADE: An Efficient Algorithm for Mining Frequent Sequences. Machine Learning Journal, 42, 31--60):

“一个输入序列 C 被称为包含另一个序列 A,如果 A 是一个 输入序列 C 的子序列。序列的支持度或频率是数据库 D 中包含 A 的输入序列的总数。"

然后,例如,如果:

            sequence    support
1              <{C}> 1.00000000

这是否意味着序列 <{C}> 包含在数据库 D 中的所有 序列中,正确吗?

我从数据中获得的完整输出:

> as(s1, "data.frame")
            sequence    support
1              <{C}> 1.00000000
2              <{L}> 0.20468120
3              <{V}> 0.73127376
4          <{C},{V}> 0.15644023
5            <{C,V}> 0.73127376
6            <{L,V}> 0.07882027
7          <{V},{V}> 0.13343431
8        <{C,V},{V}> 0.13343431
9      <{C},{C},{V}> 0.05558572
10         <{C,L,V}> 0.07882027
11       <{V},{C,V}> 0.13343431
12       <{C},{C,V}> 0.15644023
13     <{C,V},{C,V}> 0.13343431
14   <{C},{C},{C,V}> 0.05558572
15         <{C},{L}> 0.05738619
16           <{C,L}> 0.20468120
17       <{C},{C,L}> 0.05738619
18         <{C},{C}> 0.22128547
19         <{L},{C}> 0.06233031
20         <{V},{C}> 0.16921494
21     <{V},{V},{C}> 0.05047012
22     <{V},{C},{C}> 0.06233031
23       <{C,V},{C}> 0.16921494
24     <{C},{V},{C}> 0.05781487
25   <{C,V},{V},{C}> 0.05047012
26   <{V},{C,V},{C}> 0.05047012
27   <{C},{C,V},{C}> 0.05781487
28 <{C,V},{C,V},{C}> 0.05047012
29       <{C,L},{C}> 0.06233031
30     <{C},{C},{C}> 0.07882027
31   <{C,V},{C},{C}> 0.06233031
> summary(s1)
set of 31 sequences with

most frequent items:
      C       V       L (Other) 
     27      22       8       8 

most frequent elements:
    {C}     {V}   {C,V}     {L}   {C,L} (Other) 
     21      12      12       3       3       2 

element (sequence) size distribution:
sizes
 1  2  3 
 7 13 11 

sequence length distribution:
lengths
 1  2  3  4  5 
 3  9 12  6  1 

summary of quality measures:
    support       
 Min.   :0.05047  
 1st Qu.:0.05760  
 Median :0.07882  
 Mean   :0.17121  
 3rd Qu.:0.16283  
 Max.   :1.00000  

includes transaction ID lists: FALSE 

mining info:
 data ntransactions nsequences support
    x         61000      34991    0.05
> ​

最佳答案

当使用 SPADE 算法时,请记住您也在处理时间数据(即您可以知道项目出现的顺序或时间)。

Looks like these are the same sequences, aren't they? How <{C},{V}> semantically differs from <{C,V}> ? Any real life examples?

在您的示例中,<{C}, {V}> 表示项目 C 先出现,然后是项目 V; <{C, V}> 表示项目 C 和 V 同时发生。

Then, for example, if:

            sequence    support
1              <{C}> 1.00000000

Does it mean that sequence <{C}> is contained in all sequences in database D, correct?

支持值为 1 的项目表示它发生在所有交易中(在购物篮分析示例中)。

希望这对您有所帮助。

关于r - 使用 SPADE 解释序列挖掘的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923411/

相关文章:

r - 如何使用 facet_wrap 绘制 ggplot2,显示每个组的百分比,而不是整体百分比?

顶点权重和边操作的多边形算法

c# - 将数字拆分为多个范围

Tensorflow LSTM 逐字符序列预测

mysql - MySQL 中的 Oracle 序列等效项

r - 在 ggplot 中标记

r - 使用 Ranger 方法插入符序列函数

r - 永久删除 RStudio Mac OS 中的对象?

algorithm - 二部图中的最佳边着色

arrays - 使用仿射间隙惩罚函数的全局比对