python - 如何找到从给定数据集中的序列中获得的子序列的概率?
问题描述
我有一个链接序列的数据集(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 算法的帮助下设置最小 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
解决方案
推荐阅读
- javascript - JavaScript 只显示最后一个结果
- ruby-on-rails - 控制器在生成后没有被重新调整
- routes - TYPO3 V9:如何省略 URL 中的特殊字符?
- concatenation - torch.cat 但创建了一个新维度
- excel - 将 Java 代码转换为 VBA 代码(加密到 SHA512 SALTED)
- javascript - 在 JS 中重新排序数组
- elasticsearch - ElasticSearch - 如何使用 API 更新进行更新
- java - Tomcat 8.5 AbstractMethodError 中的 Spring Boot Jersey 应用程序错误:javax.ws.rs.core.UriBuilder.uri
- php - 致命错误 #324 不是 316 或 317!: 在第 324 行的 /home/wilwin/public_html/wp-includes/load.php 中调用未定义的函数 apply_filters()
- c# - 如何使用 ViewBag 传递选定的查询列表