楼主: 时光永痕
497 0

[数据挖掘新闻] 随着数据的到来做出至关重要的预测 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)四级

33%

威望
0
论坛币
26 个
通用积分
49.8622
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
317 小时
注册时间
2020-7-21
最后登录
2024-5-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
随着数据的到来做出至关重要的预测
这些天走在最热的IT 街道上,意味着您可能已经听说过实现流机器学习的方法,即将AI转向流场景并利用实时功能以及新的人工智能技术。此外,尽管人们对该主题的兴趣日益浓厚,但您还将注意到缺乏与该主题相关的研究。  
如果我们尝试更深入地研究它,那么我们会意识到 缺少一个步骤:如今,著名的流应用程序仍然没有正确理解模型服务的概念,并且行业仍然依靠lambda架构来实现这一目标。目标。假设一家银行有一个具体的,经常更新的,经过批处理训练的机器学习模型(例如,将优化的梯度下降应用于过去的缓冲区溢出攻击尝试),并且它想将该模型直接部署到他们自己的金丝雀上。     
分布式   -由流系统支持-为了获得有关模型质量的实时响应。名义上,银行应该有机会自动将经过训练的模型加载到IDS并进行实时利用,以计算对传入事件的预测,实现持久且始终保持最新覆盖,在线欺诈检测并节省大量资金钱。
不幸的是,碰巧银行被迫以预先定义的布局在基础架构中分布模型,并且-在大多数情况下-您必须直接部署权重向量并通过对其进行硬编程数学指令来计算预测;鉴于现实情况繁琐,银行将依靠良好的安全旧并行批处理作业来调查持久事件以备磁盘使用。为了解决这个巨大的差距,在这里,我们介绍Flink-JPMML(repo),这是一个新鲜的开源Scala 库,旨在在Apache Flink实时引擎上实现大规模的预测。        
像松鼠一样快
Apache Flink 是一个开源的分布式流优先处理引擎。只要提供可笑的规模的实时复杂事件处理,它就可以提供高可用性和一次精确的一致性。Flink还提供批处理计算作为流的子情况。Radicalbit使用Flink作为其核心,但它仍然以效率,健壮性和可伸缩性功能而著称,使其完全适合Kappa体系结构的核心。      
PMML 代表预测性标记模型语言,它代表了一套完善的标准,用于跨不同系统的机器学习模型的持久性。PMML基于一种非常有效的xml语义,该语义 允许定义受过训练的无监督/受监督,概率和深度学习模型,以便保留与源无关的受训练模型。可以通过任何系统导入/导出。为了在Flink-jpmml中采用该标准,我们采用了JPMML -evaluator 库。到了这一步,我们已经准备好动手洗脏了。   
用户定义的预测,例如Flink API
首先,为了运行Flink-JPMML,添加以下依赖项:如果您是sbt-er,则  
“ io.radicalbit” %%“ flink-jpmml-scala”%“ 0.6.3”
对于Maven用户
可能还需要在本地发布该库。为此,请按照下列步骤操作:
在flink-> sbt中启动sbt接口。
跳转到flink-jpmml-scala项目目录> project flink-jpmml-scala。
在本地存储库中发布库> publishLocal。
在这一点上,flink-jpmml期望提供所提供的scala-core,flink-streaming和flink-clients库。让我们继续。无论您的PMML模型位于何处,只需提供其路径即可。
val sourcePath =“ /path/to/your/pmml/model.xml”
这是您唯一需要担心的事情:Flink-JPMML通过实现专用的ModelReader自动检查与Flink相对应的分布式后端。
现在,让我们定义一个输入流。
开始了。以下几点导入
import io.radicalbit.flink.pmml.scala._
使用评估方法扩展Flink DataStream。严格来说,它为您提供了使我们能够实时实现流式预测的工具。
现在,您可以使用此处可用的示例PMML集群模型,其唯一职责是将类添加为输出参数。所以我们只需添加
到采矿场列表。然后,添加类作为输出
至此,我们已经准备好执行工作。Flink-JPMML将向您发送有关加载状态的日志消息:
19/09/10 14:33:11 INFO package$RichDataStream$$anon$1: Model has been read successfully
最后,我们得到针对一些随机花的运算符输出。
Flink-JPMML还带来了一种捷径,以便对Flink向量的DataStream执行快速预测。该功能如下:
如果用户需要在评估之前进行具体的数学预处理,而只需要预测结果(例如模型质量评估),这将非常有用。
幕后发生了什么?
有了简单易用的API结构,flink-jpmml会尝试针对所有性能,从而使Flink成为当今最强大的分布式处理引擎之一。
读者
ModelReader对象旨在从每个Flink支持的分布式系统中检索PMML模型。也就是说,它可以从任何受支持的分布式文件系统(例如HDFS,Alluxio)中加载。模型阅读器实例将交付给任务管理器,而后者将仅在操作员实现时利用前者的API:这意味着模型被懒散地骑着了。
该模型
该库允许Flink通过在每个任务管理器中使用单例加载器来加载模型,因此它确实独立于每个TM上运行的子任务的数量进行读取。通过这种优化,Flink可以在线程安全性方面扩展模型评估,考虑到即使是真正的基本PMML都可以增长数百MB。
评估为UDF
评估方法实现了底层的FlatMap实现,并通过上述用户定义的函数(由用户作为部分函数提供)进行了丰富。以前的想法是创建a-la-flinkML,即由策略模式塑造的核心对象,以便像使用典型ML库那样进行计算来计算预测。
但是,归根结底,我们正在执行流任务,因此用户将无限制的输入事件和模型作为PmmlModel的实例。在此,Flink-JPMML要求用户仅计算预测,但是无论如何,UDF允许应用任何种类的自定义操作,并且允许任何可序列化的输出类型。
闭幕
我们引入了一个可扩展的轻量级库,称为Flink-JPMML,它利用Apache Flink功能作为实时处理引擎,并提供了一种全新的方式来为您的任何标准导出的机器学习模型提供服务。在下一篇文章中,我们将讨论Flink-JPMML如何让用户管理NaN值,并且将描述该库如何处理故障。同时,我们将提供Flink向量选择背后的原因,并指出我们期望遵循的步骤,以使该库更好。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Successfully datastream successful streaming Evaluator

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-28 12:16