Python 如何从给定数据集中的序列中找到子序列的概率?

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

我有一个链接序列的数据集(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算法的帮助下将最小支持度设置为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