我有一个链接序列的数据集(CSV文件),并具有每个序列的订购状态。我借助prefixSpan算法(如here所述)获得了带有子序列数的子序列。
但我也想找出导致每个子序列= 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