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

我在机器学习方面还是新手,所以在尝试理解如何使用Spark机器学习库处理反映事件序列的时间序列数据时遇到了困难。

我有一个包含以下信息的表格:

步骤号,元素ID,会话ID

其中步骤号表示每个元素出现的顺序,元素ID是指被点击的元素,会话ID表示这是哪个用户会话中的事件。

这个表格包含了多个会话,每个会话中有多个元素序列。即一个会话会包含多行元素。而且每个会话都有相同的起点和终点。

我的目标是训练一个模型,利用观察到的元素序列来预测最有可能被点击的下一个元素。也就是说,我需要根据之前的事件来预测下一个事件。

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

从我在线上找到的论文和例子来看,我理解这在只有一个事件序列作为训练模型输入的情况下是合理的。

但在我的情况下,我有多个会话/事件实例(所有会话都从同一点开始),我想训练一个平均模型。我发现理解如何使用例如Spark中的HMM来处理这个问题有点挑战。是否有任何实际的例子或教程涵盖了这种情况?

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


回答:

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

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注