从平均序列预测下一个事件

predicting next event from averaging sequences

我是 ml 的新手,所以我在意识到如何将 spark 机器学习库与反映一系列事件的时间序列数据一起使用时遇到了一些困难。

我有一个 table 包含以下信息:

步骤 N#,element_id,Session_id

其中第 n# 步是每个元素出现的顺序,element_id 是被点击的元素,session_id 是在哪个用户会话中发生的。

它由多个会话和每个会话的多个元素序列组成。即一个会话将包含多行元素。此外,每个会话的起点和终点都相同。

我的 objective 是训练一个模型,该模型将使用观察到的元素序列来预测最有可能被点击的下一个元素。这意味着我需要根据之前的事件预测下一个事件。

(换句话说,我需要对特定工作流程的用户点击行为进行平均,以便模型能够根据平均值预测下一个最相关的点击)

根据我在网上找到的论文和示例,我了解到当有一个事件序列要用作训练模型的输入时,这是有意义的。

但就我而言,我有多个 sessions/instances 事件(所有事件都在同一点开始),我想训练一个平均模型。我发现理解如何使用例如 HMM in spark 来解决这个问题有点挑战。是否有涵盖此案例的实际示例或教程?

感谢您花时间阅读我的post。任何想法将不胜感激!

这也可以通过频繁模式挖掘来解决。检查这个:https://spark.apache.org/docs/latest/mllib-frequent-pattern-mining.html

在这种情况下,您可以找到经常一起出现的频繁项目。在第一步中你教模型什么是频繁的,然后在预测步骤中,模型可以看到一些事件并且可以预测最常见的事件到这个事件