У меня есть набор данных (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
Подпоследовательности, которые я получу, если я поставлю минимум Support = 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