机电学习方法演讲稿.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机电学习方法演讲稿 如果是实时的、小数据量的预测应用,则采用的SOA调用Rserve或者python-httpserve来进行应用;这种应用方式有个缺点是需要启用服务来进行预测,也就是需要跨环境,从Java跨到R或者Python环境。对于性能,基本上我们用Rserver方式,针对一次1000条或者更少请求的预测,可以控制95%的结果在100ms内返回结果,100ms可以满足工程上的实践要求。更大的数据量,比如10000/次,100000/次的预测,我们目前评估下来满足不了100ms的要求,建议分批进行调用或者采用多线程请求的方式来实现。 如果是实时、大数据量的预测应用,则会采用SOA,训练好的模型转换成PMML关于如何转换,我在下面会详细描述,然后把模型封装成一个类,用Java调用这个类来预测。用这种方式的好处是SOA不依赖于任何环境,任何计算和开销都是在Java内部里面消耗掉了,所以这种工程级别应用速度很快、很稳定。用此种方法也是要提供两个东西,模型文件和预测主类; 如果是Offline离线预测的,D+1天的预测,则可以不用考虑第1、2中方式,可以简单的使用Rscript x.R或者python x.py的方式来进行预测。使用这种方式需要一个调度工具,如果公司没有统一的调度工具,你用shell的crontab做定时调用就可以了。 以上三种做法,都会用SOA里面进行数据处理和变换,只有部分变换会在提供的Function或者类进行处理,一般性都建议在SOA里面处理好,否则性能会变慢。 大概场景罗列完毕,简要介绍一下各不同工具的线上应用的实现方式。 大部分模型都可以用PMML的方式实现,PMML的使用方法调用范例见: jpmml的说明文档:GitHub - jpmml/jpmml-evaluator: Java Evaluator API for PMML; Java调用PMML的范例PPJUtils/java/pmml at master · pjpan/PPJUtils · GitHub,此案例是我们的工程师写的范例,大家可以根据此案例进行修改即可; Jpmml支持的转换语言,主流的机器学习语言都支持了,深度学习类除外; 从下图可以看到,它支持R、python和spark、xgboost等模型的转换,用起来非常方便。 1.python模型上线:我们目前使用了模型转换成PMML上线方法。 python-sklearn里面的模型都支持,也支持xgboost,并且PCA,归一化可以封装成preprocess转换成PMML,所以调用起来很方便; 特别需要注意的是:缺失值的处理会影响到预测结果,大家可以可以看一下; 用PMML方式预测,模型预测一条记录速度是1ms,可以用这个预测来预估一下根据你的数据量,整体的速度有多少。 2.R模型上线-这块我们用的多,可以用R model转换PMML的方式来实现。 这里我介绍另一种的上线方式:Rserve。具体实现方式是:用SOA调用Rserve的方式去实现,我们会在服务器上部署好R环境和安装好Rserve,然后用JAVA写好SOA接口,调用Rserve来进行预测; Java调用Rserve方式见网页链接:Rserve - Binary R server; centos的Rserve搭建方法见:centos -Rserve的搭建,这里详细描述了Rserve的搭建方式。 Rserve方式可以批量预测,跟PMML的单个预测方式相比,在少数据量的时候,PMML速度更快,但是如果是1000一次一批的效率上看,Rserve的方式会更快;用Rserve上线的文件只需要提供两个: 模型结果文件XX.Rdata; 预测函数Pred.R。 Rserve_1启动把模型结果XX.Rdata常驻内存。预测需要的输入Feature都在Java里定义好不同的变量,然后你用Java访问Rserve_1,调用Pred.R进行预测,获取返回的List应用在线上。最后把相关的输入输出存成log进行数据核对。 Pred.R - functionx1,x2,x3{data - cbindx1,x2,x3# feature engineeringscore - predictmodelname, data, type = probreturnlistscore} 3.Spark模型上线-好处是脱离了环境,速度快。 Spark模型的上线就相对简单一些,我们用scala训练好模型一般性我们都用xgboost训练模型然后写一个Java Class,直

文档评论(0)

180****8756 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体盛世风云(深圳)网络科技有限公司
IP属地陕西
统一社会信用代码/组织机构代码
91440300069269024M

1亿VIP精品文档

相关文档