Python 如何从给定数据集中的序列中找到子序列的概率?
我有一个链接序列的数据集(CSV文件)以及每个序列的订单状态。在prefixSpan算法(如上所述)的帮助下,我得到了子序列及其计数。 但我还想找出每个子序列导致下单的概率=1。假设链接是Python 如何从给定数据集中的序列中找到子序列的概率?,python,pandas,probability,data-mining,clickstream,Python,Pandas,Probability,Data Mining,Clickstream,我有一个链接序列的数据集(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
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算法的帮助下将最小支持度设置为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