Как найти вероятность подпоследовательностей, полученных из последовательностей в данном наборе данных?

#python #pandas #probability #data-mining #clickstream

#python #pandas #вероятность #интеллектуальный анализ данных #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                 1
    a,c,b,c                       0
  

Подпоследовательности, которые я получаю, если я ставлю минимальную поддержку = 4 с помощью алгоритма PrefixSpan

     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