首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习模型部署—PMML

模型需要跨平台部署或反复调用时,可以把模型保存为PMML文件。 比如最近要上线一个反欺诈模型(用GBDT)。...若要将在Python中训练好模型部署到生产上,可以使用目标环境解析PMML文件库来加载模型,并做预测。...step2:训练模型(pipeline函数)。 step3:导出模型sklearn2pmml函数)。 其中step1不是必须步骤。 接下来看两个具体实例。...PMML模型文件是一个基于XML文本文件,任意文本编辑器都可以打开查阅。 2 缺点 1.对数据预处理支持有限。虽然已经支持了几乎所有的标准数据处理方式,但是对于自拓展方法,还缺乏有效支持。...模型类型支持有限。缺乏对深度学习模型支持。 3. 预测会有一点偏差。因为PMML格式通用性,会损失特殊模型特殊优化。

5.6K31

PMML实现机器学习模型跨平台上线

可以看出,要使用PMML,需要两步工作,第一块是离线训练得到模型转化为PMML模型文件,第二块是PMML模型文件载入在线预测环境,进行预测。这两块都需要相关支持。 2....如果我们使用是sklearn,那么可以使用sklearn2pmml这个python库来做模型文件生成,这个库安装很简单,使用"pip install sklearn2pmml"即可,相关使用我们后面会有一个...加载PMML模型需要目标环境支持PMML加载库,如果是JAVA,则可以用JPMML来加载PMML模型文件。相关使用我们后面会有一个demo。 3....PMML模型生成和加载示例     下面我们给一个示例,使用sklearn生成一个决策树模型,用sklearn2pmml生成模型文件,用JPMML加载模型文件,并做预测。     ...以上就是PMML生成和加载一个示例,使用起来其实门槛并不高,也很简单。 4. PMML总结与思考     PMML的确是跨平台利器,但是是不是就没有缺点呢?肯定是有的!

3.1K51
您找到你想要的搜索结果了吗?
是的
没有找到

PMML实现机器学习模型跨平台上线

可以看出,要使用PMML,需要两步工作,第一块是离线训练得到模型转化为PMML模型文件,第二块是PMML模型文件载入在线预测环境,进行预测。这两块都需要相关支持。 2....如果我们使用是sklearn,那么可以使用sklearn2pmml这个python库来做模型文件生成,这个库安装很简单,使用”pip install sklearn2pmml”即可,相关使用我们后面会有一个...加载PMML模型需要目标环境支持PMML加载库,如果是JAVA,则可以用JPMML来加载PMML模型文件。相关使用我们后面会有一个demo。 3....PMML模型生成和加载示例     下面我们给一个示例,使用sklearn生成一个决策树模型,用sklearn2pmml生成模型文件,用JPMML加载模型文件,并做预测。     ...以上就是PMML生成和加载一个示例,使用起来其实门槛并不高,也很简单。 4. PMML总结与思考     PMML的确是跨平台利器,但是是不是就没有缺点呢?肯定是有的!

34720

机器学习模型PMML

使用PMML,需要两步工作,第一块是离线训练得到模型转化为PMML模型文件,第二块是PMML模型文件载入在线预测环境,进行预测。这两块都需要相关支持。...PMML模型生成和加载相关类库 PMML模型生成相关库需要看我们使用离线训练库。如果我们使用是sklearn,那么可以使用sklearn2pmml这个python库来做模型文件生成。...加载PMML模型需要目标环境支持PMML加载库,如果是JAVA,则可以用JPMML来加载PMML模型文件。...PMML总结与思考 PMML为了满足跨平台,牺牲了很多平台独有的优化,所以很多时候我们用算法库自己保存模型API得到模型文件,要比生成PMML模型文件小很多。...对于超大模型,比如大规模集成学习模型,比如xgboost, 随机森林,或者tensorflow,生成PMML文件很容易得到几个G,甚至上T,这时使用PMML文件加载预测速度会非常慢,此时推荐为模型建立一个专有的环境

1.5K10

风控模型及特征上线部署方法

pmml是数据挖掘一种通用规范,是使用XML格式来描述我们生成机器学习模型,简单说就是先在python环境里模型转成pmml格式文件,然后用java代码来加载读取这个模型做预测。...2)在自己本地配置java环境,安装JDK,并在python里安装sklearn2pmml包 3)利用sklearn2pmmlpythonmodel文件转成pmml文件 4)pmml文件交给开发同学...,开发同学用java来读取pmml并做预测 pmml是目前跨平台部署模型最常用方法,无论你模型是sklearn,R还是sparkMLlib生成,都可以转成pmml格式,具有广泛支持性,同时具有可读性...不过这个偏差并不大,且出现概率也比较小。如果必须要保证两者结果一致,可以在做分数转换概率四舍五入至4位小数,这样可接近100%一致。...Part 3.特征和模型一致性校验 一.模型正式启用前一致性校验 特征和模型部署完成后,需要做特征和模型线下结果和线上结果一致性校验,上线前先用一批离线测试样本校验,校验没有问题后模型上线进行空跑

1.1K12

独家 | 机器学习模型应用方法综述

大多数深度学习库都支持该格式, sklearn还有一个扩展库来模型换为ONNX格式。 PMML或预测模型标记语言,是另一种用于预测模型交换格式。...sklearn还有另一个扩展库,可用于模型换为PMML格式,这与ONNX是一致。然而,它缺点是只支持某些类型预测模型PMML从1997年开始出现,大量应用程序均采用这种格式。...需要根据新数据流不断更新模型训练,难度系数会高出许多。 在线模型训练另一个挑战是,过往历史信息得不到衰减。...预测应用程序检索到新消息,该程序请求并检索客户配置文件,并使用消息和配置文件信息进行预测,预测结果最终返回客户配置文件以供进一步使用。...使用更为复杂模型,如神经网络或复杂集成决策树,计算占用更长时间,冷启动加载到内存中时间也会更长,而且运行成本会更高。

1.3K20

解决PackagesNotFoundError: The following packages are not available from current c

最后,我们使用​​nyoka.export_to_pmml()​​函数训练好模型导出为PMML(Predictive Model Markup Language)格式文件,命名为​​model.pmml​​...通过使用​​nyoka​​包提供导出功能,我们可以方便地训练好机器学习模型保存为可移植PMML文件,以供后续部署和使用。...同时,它还支持从这些标准格式中导入模型模型转换:支持模型从一种格式转换为另一种格式,以便在不同机器学习平台和环境之间进行迁移和部署。...(pmml_file)上述代码中,我们使用​​nyoka.export_to_pmml()​​函数训练好模型导出为PMML格式,并使用​​nyoka.from_pmml()​​函数从PMML文件中导入模型...通过使用​​nyoka​​包,我们可以轻松地训练好模型保存为可移植格式,并在需要时候进行导入和使用

1.4K10

总结一下模型工程化部署几种方式

我们来试想一个场景,一个模型训练好之后,我们如果想要验证这个模型好坏,我们首先能想到办法就是找一批数据来测试一下。实际上,模型预测直接打包成http接口也是利用了这样思路。...在这里,我们可以训练好模型提前进行加载,并初始化若干个消息队列和worker,有新待预测数据进入时候,我们直接数据通过消息队列传入到模型中进行推理和预测,最终得到结果。...我们可以将自己训练机器学习模型打包成PMML模型文件形式,然后使用目标环境解析PMML模型库来完成模型加载并做预测。...目前,大部分机器学习库都支持直接打包成PMML模型文件相关函数,例如在Python中LightGBM库,XGBoost库,Keras库等,都有对PMML支持,直接使用相应命令就可以生成,而在Java...我们可以把模型部署到TensorFlow Serving服务器上,而一般我们只需要先在服务器上使用docker创建一个TensorFlow Serving服务,然后模型文件上传上去,有请求进来时候

2.3K11

干货 | 机器学习模型在携程海外酒店推荐场景中应用

主要用于模型训练和离线评估,以及特征保存入特征数据库,供之后线上推荐模型使用。...因此常用预测模型标记语言(Predictive ModelMarkup Language,以下简称PMML)重新实现算法模型,然后模型封装成类,通过JAVA调用这个类来进行预测。...由python封装模型可以通过sklearn中sklearn2pmml函数实现PMML文件转换。XGBoost模型需要JPMML-XGBoost命令行转换工具,转换命令为: ?...其中GBDT作为有监督特征转换器,对于连续型特征和离散特征分别做离散化非线性变换和笛卡尔乘积特征组合,实数向量转换为简单二进制值向量,构造新特征向量。...六、推荐系统中一些问题 在构建推荐系统过程中,推荐模型作用是重要,但并不是推荐系统全部。

1.3K20

【高效】盘点8款热门PDF文档处理工具PDF编辑器全版本下载

新工具中心可更简单迅速访问最常使用工具。Acrobat DC可利用Photoshop强大图像编辑功能,任何纸质文件转换为可编辑电子文件,用于传输、签字。...4.Convertio(在线转换)ConvertIO文件转换神器是一款在线且免费文件转换器,网站支持多种文件格式转换,比如用户可以轻松把视频转成音频,或者视频转成GIF以及多种文档格式之间转换...Candy 桌面是一款多功能工具,能够让您把 PDF 文件转为多种支持格式(PDF DOC、PDF JPG 等)、把文档、电子书、图片转为 PDF、合成 PDF、分割 PDF、提取 PDF...中图片和文本、编辑 PDF元数据、保护 PDF、解锁密码保护 PDF 文件。...所有模式都支持批量处理文件。这些功能全都呈现在一个现代、友好界面上。8.格式工厂(下载安装)不知道大家是不是也像我一样,只会用格式工厂给视频格式或者音频格式,其实文档转换也不在话下!

1.2K00

如何把20秒熊本熊GIF图发送给微信好友

GIF到MP4转换器可以100MB以内gif图片转换为MP4, 转换步骤通过网页在云端完成, gif转换为mp4后, 肉眼看不出清晰度损失 本地图片转换为MP4视频 ​本地图片拖拽到网页内即可将...image 网络gif图片转换为MP4视频 GIF到MP4转换器支持通过URL导入图片,除了导入步骤,剩余步骤与本地图片导入方式相同 ?...image 另外GIF到MP4转换器支持从 GoogleDrive和Dropbox两款网盘中导入文件,操作与上面的方式类似, 这里不做赘述 GIF到MP4转换器也适用于手机 •如果GIF图过大,微信是无法发送.../zh/gif-mp4/ 小结: 作者在创作Chrome插件英雄榜期间, 会录制大量gif图, 录制到好玩gif图, 想通过微信共享给好友或者发送到朋友圈,就会使用GIF到MP4转换器在手机版网页轻松完成转换...更有趣是, 由于GIF到MP4转换器支持从url直接导入gif图片,所以我们无需将gif图保存到本地,即可获取gif图mp4版本,这对于经常收集素材自媒体作者,真的是非常友好了

1.6K10

干货 | 去哪儿酒店算法服务平台

在考虑使用何种模型文件,我们做过一些对比。...早期几个模型选用PMML文件方式,其本身包含完整特征预处理、模型预测和后处理描述,但后来发现我们其实只需要模型预测功能,而更希望特征转换独立出来使用; 之后几个模型选取是Vowpal Wabbit...此外还有一种历史遗留下XML文件描述模型DataProc,其思想与PMML类似,也需要兼容。...: raw: {"" :{"temperature": "26"}} # 转换前 floats: {"all": {"temperature":2}} # 转换后 使用list转换器一系列转换配置组装起来...所以我们算法平台直接做了服务化,这样一来业务开发在接入算法,和使用其他服务没有任何区别,知道传什么参数就行了,而模型变更、调试、监控则全部由算法组负责,对问题排查和后续优化提升都更方便,减少沟通成本

1.3K100

Spring认证中国教育管理中心-Spring Data R2DBC框架教程六

支持嵌套对象。 转换器使用任何注册 Spring 转换器来覆盖对象属性到行列和值默认映射。 对象字段用于在行中列之间进行转换。JavaBean不使用公共属性。...Spring Data 将此类名称字母大小写转换为使用引用时配置数据库也使用形式。因此,您可以在创建表使用不带引号名称,只要您名称中不使用关键字或特殊字符即可。...@PersistenceConstructor: 标记给定构造函数——即使是包保护构造函数——在从数据库实例化对象使用。构造函数参数按名称映射到检索行中值。...Converter>, OutboundRow不支持集合转换器(例如)。 R2DBC 使用装箱原语(Integer.class而不是int.class)来返回原语值。...Spring DataEnum默认String值转换为最大可移植性值。要保留实际枚举值,请注册一个@Writing转换器,其源和目标类型使用实际枚举类型以避免使用Enum.name()转换。

2.1K20

Spring读源码系列番外篇---05----类型转换---中---三种全新类型转换器

适合1:1换场景:可以任意类型 转换为 任意类型。...---- 四个兜底GenericConverter转换器 上文留下了4个类型转换器,下面来讲讲: StreamConverter:Stream流与集合/数组之间转换,必要转换元素类型 这三个比较特殊...匹配不到任何转换器,它用于兜底 ---- 默认转换器注册情况 Spring新一代类型转换内建了非常多实现,这些在初始化阶段大都被默认注册进去。...如:方法入参是Stream类型,你既可以传入Stream类型,也可以是Collection类型、数组类型,是不是瞬间逼格高了起来。...---- FallbackObjectToStringConverter 通过简单调用Object#toString()方法任何支持类型转换为String类型,它作为底层兜底。

97120

SpringMVC 与 REST.

讨论REST,有一种常见错误就是将其视为“基于URLWeb服务”—— REST作为另一种类型RPC机制,只不过是通过简单HTTP URL来触发。...消息转换器(Message conversion)资源Java表述形式转换为发送给客户端表述形式。...1、消息转换器(Message conversion)     消息转换(message conversion)提供了一种更为直接方式,它能够控制器产生数据转换为服务于客户端表述形式。...使用消息转换功能,DispatcherServlet不再需要那么麻烦地模型数据传送到视图中。...REST 注解 @PathVariable:控制器能够处理参数化URL(变量输入作为URL一部分); @ResponseBody:告诉Spring跳过正常模型/视图流程,并使用消息转换器

1.1K40

HAWQ + MADlib 玩转数据挖掘之(一)——安装

特性 (1)分类         如果所需输出实质上是分类,可以使用分类方法建立模型,预测新数据会属于哪一类。分类目标是能够输入记录标记为正确类别。        ...(2)回归         如果所需输出具有连续性,我们使用回归方法建立模型,预测输出值。        ...回归例子:如果有真实描述房地产属性数据,我们就可以建立一个模型,预测基于房屋已知特征售价。因为输出反应了连续数值而不是分类,所以该场景是一个回归问题。...然后这些商品输入到客户推荐引擎中,提供促销机会,如著名啤酒与尿布故事。 (6)描述性统计         描述性统计不提供模型,因此不被认为是一种机器学习方法。...(7)模型验证         如果不了解一个模型准确性就开始使用它,会导致糟糕结果。正因如此,理解模型存在问题,并用测试数据评估模型精度显得尤为重要。

1.3K70

5. 穿过拥挤的人潮,Spring已为你制作好高级赛道

StreamConverter:Stream流与集合/数组之间转换,必要转换元素类型 这三个比较特殊,属于“最后”“兜底类”类型转换器: ObjectToObjectConverter:通用原对象转换为目标对象...匹配不到任何转换器,它用于兜底 默认转换器注册情况 Spring新一代类型转换内建了非常多实现,这些在初始化阶段大都被默认注册进去。...如:方法入参是Stream类型,你既可以传入Stream类型,也可以是Collection类型、数组类型,是不是瞬间逼格高了起来。...,尝试找到一个合适Member,然后放进缓存内(若没有就返回null) part1:快速返回流程 不是首次进入处理,会走快速返回流程。...: 存在一个参数,且参数类型是sourceClass类型构造器 构造器访问权限必须是public 特别值得注意是:此转换器支持Object.toString()方法sourceType转换为java.lang.String

37420

如何利用已有的大数据技术,搭建机器学习平台

我们具备这样能力,那么机器呢?机器不是只接收指令,处理指令吗?和人脑类似,可以喂给机器历史数据,机器依赖建模算法生成模型,根据模型便可以处新数据得到未知属性。...,状态,日志等 依赖完整组件可以进行局部运行,在一个较复杂建模实验中,完全可以先进行局部验证以及参数调整 建模实验支持克隆 离线计算 我们提供了‘字段落地’工具组件,可以预测结果以 csv 格式落入...,模型可以通过 PMML 这样标准导出,同样也可以通过我们模型导出功能将模型以 parquet 格式保存在 Hdfs 相应目录上。...于是 3.0 架构中我们开发了提供实时预测服务 tcscoring 系统: tcscoring 系统依赖介质就是模型 PMML 文件,用户可以在机器学习平台上直接部署训练完成了模型对应 PMML...部署成功后会返回用于预测 rest 接口供业务使用: 当然,PMML 部署也可以结合 BDK 设置成周期性调度,这些结合模型周期性训练,整个训练 + 预测过程都可以交给机器学习平台 +BDK

3.4K00

5. 穿过拥挤的人潮,Spring已为你制作好高级赛道

StreamConverter:Stream流与集合/数组之间转换,必要转换元素类型 这三个比较特殊,属于“最后”“兜底类”类型转换器: ObjectToObjectConverter:通用原对象转换为目标对象...匹配不到任何转换器,它用于兜底 默认转换器注册情况 Spring新一代类型转换内建了非常多实现,这些在初始化阶段大都被默认注册进去。...如:方法入参是Stream类型,你既可以传入Stream类型,也可以是Collection类型、数组类型,是不是瞬间逼格高了起来。...part2:若part1没有返回,就执行三部曲,尝试找到一个合适Member,然后放进缓存内(若没有就返回null) part1:快速返回流程 不是首次进入处理,会走快速返回流程。...: 存在一个参数,且参数类型是sourceClass类型构造器 构造器访问权限必须是public 特别值得注意是:此转换器支持Object.toString()方法sourceType转换为java.lang.String

58340

手机输入法不好用?谷歌要用AI让你打字更快

Google Research官方博客昨天发布文章,介绍了他们对Gboard优化,量子位编译如下: 我们注意到,移动键盘触控输入转换为文字方式与语音识别系统语音输入转换为文字方式类似。...利用来自语音搜索声学模型经验,我们高斯模型和基于规则模型换为统一而高效LSTM(长短期记忆)模型,并使用CTC(链结式时间分类)规范对其进行训练。 然而,这一模型训练比我们预期中更复杂。...在Gboard中,“按键到单词”转换器用于表达键盘词法。这一转换器对按键序列和单词之间映射关系进行编码,从而支持多种按键序列和可能空间模式。 ?...通用FST原则可以支持动态模型,这帮助我们开发新键盘解码器。不过,我们还需要对FST加入新功能。在说话,你不需要通过解码器去自动完成你说出单词,或是猜测你要说下个单词是什么。...我们利用转换器按键序列转化为单词,并用加权语言模型自动化技术提供出现某个单词序列概率。类似地,我们开发了加权转换器,对于22种印度语系语言拉丁字母序列和目标字符序列进行映射。

1.5K70
领券