时间窗口聚合特征:实时流式机器学习管道实现
在机器学习模型的构建和扩展过程中,我们常常会遇到各种问题。例如,独热编码会导致数据集规模爆炸式增长,嵌入操作需要单独的训练和记录,模型部署到生产环境时可能会受到机器学习库可移植性的限制,以及使用流式指标扩充训练数据集时需要相同的代码来处理批量数据和流式数据。为了解决这些问题,我们可以使用 Cloud Dataflow 和 Cloud ML 来实现一个实时流式机器学习管道。
1. 时间平均值的需求
在机器学习中,我们需要使用时间窗口聚合特征来扩充数据集。例如,航班的到达时间是根据出发机场在特定小时的平均滑行时间来安排的。我们需要计算整个训练数据集中的平均滑行时间,并将其作为机器学习模型的输入特征。此外,目的地机场的平均到达延误时间也会影响航班是否按时到达,这个值需要实时计算。
使用相同的代码来计算批量数据和流式数据的平均值,可以减少因使用不同库或编程语言而导致的训练 - 服务偏差。Apache Beam 可以处理批量和流式数据,我们可以用它来计算每个机场的平均出发和到达延误时间。
2. Java 中的 Dataflow
Cloud Dataflow 是一个完全托管的服务,用于执行使用 Apache Beam 编写的数据处理管道。与 Cloud Dataproc 不同,使用 Cloud Dataflow 时,我们不需要启动集群来进行数据处理,只需提交代码,它会自动扩展到所需的机器数量,并根据任务使用的计算资源收费。
提交到 Cloud Dataflow 的作业可以使用 Java 编写,使用开源的 Apache Beam API。虽然 Python 也可以用于编写代码,但生产环境
超级会员免费看
订阅专栏 解锁全文
364

被折叠的 条评论
为什么被折叠?



