Sophon+Slipstream实现流式KMeans聚类预测

随着数据规模和丰富度的不断提升,其价值越来越受到企业的重视。其中,机器学习在挖掘数据价值方面扮演着重要的角色,得到广泛应用。大数据概念的在各行各业的普及与深入,使机器学习拥有更多的创造价值的机会。

特别的,在广告推荐、商业预测方面,有效的机器学习应用将会带来非常直接的价值。由于推荐预测系统对数据时效性的敏感度较高,而且其数据处于连续实时且快速的变化,所以必须建立起流式的机器学习应用,从而对流式的数据进行实时的预测分析与处理,这对于商业分析与运营而言将十分关键。

为此,Transwarp提供了Sophon+Slipstream的流上机器学习解决方案。其中,Sophon是TDH生态中的深度学习与机器学习平台,Slipstream是强大的SQL流处理引擎。Sophon负责实现算法模型训练,Slipstream提供事件驱动引擎,支持机器学习应用运行于事件驱动模式,因此能够将二者组合实现流式机器学习的开发。

本文将介绍如何利用Sophon以及Slipstream对流数据实现KMeans聚类预测。

基本思路

1.利用Transwarp Sophon的客户端Midas对样本数据进行机器学习模型训练,并将模型训练结果导出为Json格式。

2. 接着在Transwarp Slipstream中,将上述模型导入系统,然后启动流处理,对当前进入系统的实时数据进行实时预测。

3. 预测的结果可以持久化在Inceptor或Hyperbase表中,以便后续查询。或者也可直接送入Kafka中,进行实时展示。

上述模型预测的全过程,只需要用户进行拖拽式的建模以及SQL语句编写,并不涉及复杂编程,即可完成实时预测的功能开发。下面将介绍在Sophon和Slipstream中的具体操作。

用Sophon训练模型

我们利用Sophon的客户端Midas对样本数据进行KMeans算法模型训练。

首先将数据读入模块拖拽入流程设计面板中并编辑其相关参数,即设置待训练的样本数据,然后引入KMeans模型算法算子,最后通过“写入Json文件”算子,将训练好的模型以Json文件导出并存储在HDFS的/tmp/kmeans.json中。

下图提供了整个过程的完整流程,以及模型导出算子的配置。

用Slipstream做流式预测

下面开始在Slipstream中利用kmeans.json模型进行KMeans聚类预测。

在Kafka中创建名为unlabeled的topic。用于接收Producer生产的数据。

接着在Slipstream中创建以Kafka为源的Input stream--unlabeled,以及用于接收预测结果的Inceptor Text表--kmeans_predict。

启动stream,利用Sophon中训练好的模型kmeans.json,以流数据中的c1和c2字段为特征属性进行聚类预测。结果保存在kmeans_predict表中。

其中,该语句中的kmeans_predict函数是预置在Slipstream中的用于实现流式KMeans算法预测的函数,该函数是这样定义的:

kmeans_predict(col1, col2, ... coln, model_path)

col1,...,coln代表每个元素的特征属性,model_path是训练好的模型的存放路径。

接着,启动Kafka Producer(以kafka-console-producer为例)向Kafka集群发送数据。

随后在Slipstream中用SELECT访问kmeans_predict结果表,查看对Producer发布的流数据进行聚类后的结果。

以上便完成了对流式数据的机器学习模型预测。

总结

Sophon除了KMeans之外还支持多种常见算法的流式预测,与Slipstream结合可以支持多种流式机器学习。流式机器学习将方便基于实时数据的数据挖掘开发,不必等待批量数据就可以对实时数据做预测。在广告、工业、交通等具有实时预测需求的行业,二者工具的结合将有效推动智能行业应用的构建与建设。

本文来自企鹅号 - 星环科技媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

黄金三镖客之TensorFlow版

21830
来自专栏MixLab科技+设计实验室

TensorFlow.js、迁移学习与AI产品创新之道

TensorFlow 的 JS 版本终于出啦,deeplearn.js 正式收编至 TensorFlow 项目,并改名为 TensorFlow.js :

954100
来自专栏PPV课数据科学社区

【学习】R语言中的情感分析与机器学习

#玩转大数据#利用机器学习可以很方便的做情感分析。本篇文章将介绍在R语言中如何利用机器学习方法来做情感分析。在R语言中,由Timothy P.Jurka开发的情...

39780
来自专栏专知

【开源】基于Keras的知识图谱处理实战

【导读】近日,Daniel Shapiro博士利用开源的图结构卷积网络进行知识图谱处理,并应用于交易数据的欺诈检测,其知识图谱处理相关源码也开源出来,并且Dan...

1.1K40
来自专栏机器之心

资源 | 从Brain.js到Mind,一文收录11个移动端Javascript机器学习库

选自blog.bitsrc.io 作者:Jonathan Saring 机器之心编译 参与:程耀彤、黄小天 本文作者在构建 Bit 的过程中探索和尝试了把 Ja...

37460
来自专栏PPV课数据科学社区

构想:中文文本标注工具

项目地址 | https://github.com/crownpku/Chinese-Annotator ? 自然语言处理的大部分任务是监督学习问题。序列标注问...

618110
来自专栏人工智能头条

机器学习即服务之BigML特性介绍和入门教程

19250
来自专栏专知

【AlphaGo Zero 核心技术-深度强化学习教程代码实战04】Agent类和SARSA算法实现

【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不使用人类先验知识,使用纯强化学习,将价值...

32440
来自专栏机器之心

资源 | 英特尔Nervana发布强化学习库Coach:支持多种价值与策略优化算法

28890
来自专栏机器之心

横向对比三大分布式机器学习平台:Spark、PMLS、TensorFlow

39760

扫码关注云+社区

领取腾讯云代金券