我有一个链接序列的数据集(CSV 文件),其中包含每个序列的订单状态。在 prefixSpan 算法的帮助下,我得到了带有计数的子序列(如此处所述)。但我也想找到每个子序列导致下订单 = 1 的概率。假设链接为a
、b
、c
,d
它们在数据框中的顺序和订单状态如下:
Link sequences Order status
a,b,c,a,c,c 0
a,c,b,c 1
a,b,d,c,b,c 1
a,c,b,c 0
如果我在 prefixSpan 算法的帮助下设置最小 Support =4,我得到的子序列
Subsequences Support
[a] 4
[a,b] 4
[a,b,c] 4
[a,c] 4
[a,c,c] 4
[b] 4
[b,c] 4
[c] 4
[c,c] 4
我应该在上面链接中提到的prefixSpan算法代码中进行哪些更改以获得概率,如下所示:
Subsequence Support Prob
[a] 4 0.5
[a,b] 4 0.5
[a,b,c] 4 0.5
[a,c] 4 0.5
[a,c,c] 4 0.5
[b] 4 0.5
[b,c] 4 0.5
[c] 4 0.5
[c,c] 4 0.5
用于计算子序列概率的过程是:
添加存在子序列的所有序列的已下订单状态,并将其除以存在子序列的序列数,例如:
P(subsequence [a,c,c]) =( 0+1+1+0)/4 = 0.5