首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏分母为零

    机器学习模型之PMML

    PMML概述 PMML是数据挖掘的一种通用的规范,它用统一的XML格式来描述我们生成的机器学习模型。 要使用PMML,需要两步的工作,第一块是将离线训练得到的模型转化为PMML模型文件,第二块是将PMML模型文件载入在线预测环境,进行预测。这两块都需要相关的库支持。 PMML模型的生成和加载相关类库 PMML模型的生成相关的库需要看我们使用的离线训练库。如果我们使用的是sklearn,那么可以使用sklearn2pmml这个python库来做模型文件的生成。 加载PMML模型需要目标环境支持PMML加载的库,如果是JAVA,则可以用JPMML来加载PMML模型文件。 PMML总结与思考 PMML为了满足跨平台,牺牲了很多平台独有的优化,所以很多时候我们用算法库自己的保存模型的API得到的模型文件,要比生成的PMML模型文件小很多。

    1.7K10发布于 2020-03-11
  • 来自专栏阿黎逸阳的代码

    机器学习模型部署—PMML

    之前阐述了逻辑回归、孤立森林等建模方法,本文介绍如何把建好的模型保存为标准格式(PMML文件)。 那么,什么情况下需要把模型保存为PMML文件? 3 训练模型并保存为PMML文件 在实例一中没有进行特征处理(step1),直接训练模型并导出PMML文件。 sklearn2pmml:把模型保存为PMML文件。 得到部分结果如下: ? 四、实例二:把随机森林模型保存为PMML 本例数据和实例一相同,就不赘述了。 sklearn2pmml:把通道中训练好的模型保存为PMML文件。 生成的PMML文件内容如下: ? 如果模型训练和预测用同一种语言,我认为没必要使用PMML。 如果训练环境和预测环境不一样,在生产上安装(R、Python、Spark等)不方便,可以使用PMML文件的方式,在生成环境直接读取PMML获得训练后的模型。 五、PMML的优缺点 1 优点 1.

    8.3K31发布于 2020-09-08
  • 来自专栏kl的专栏

    Quarkus改造Pmml模型项目异常记录(16)

    前言 这个项目是一个PMML模型跑分系统,在使用quarkus架构对其改造的过程中,在加载PMML模型时,抛了一个异常,在网上找了很多资料都没有解决,pmml项目的issue中也没有找到相关的内容,故在此记录下 exclusion> </exclusions> </dependency> 解决思路 刚看到这个异常时,没有啥想法,加载程序约束冲突,这个还是头一次见,后面就在PMML

    35720编辑于 2023-11-18
  • 如何在Together规则引擎中使用PMML模型

    我们知道规则引擎(或决策引擎)是企业商业智能AI体系中重要的一环,那么就需要规则引擎具备调用PMML模型的能力,本文将提供完整的分步教程,介绍如何在Together规则引擎编辑器中导入和处理PMML模型 PMML(预测模型标记语言)模型是一个XML文件,用于描述由数据挖掘或AI算法生成的预测模型。您可以在DataMiningGroup–PMML页面上了解有关PMML的更多信息。 此公式描述了“test_regression.pmml”中存在的回归模型:描述回归模型的公式保留在test_regression.pmml中目的是设计一个DMN过程,该过程使用上述公式确定利用PMML模型输出 2.点击新建按钮打开编辑器创建DMN模型:3.将PMML模型引入在编辑器中,转到包含的型号页签。在这里,点击包含模型按钮导入前面描述的PMML模型。将出现一个弹出窗口。 至此DMN建模完全集成了 PMML 模型 test_regression.pmml。9.我们测试一下模型,在DMN模型执行时,同步调用了,PMML模型算法返回了正确的预测模型结果。

    23600编辑于 2025-07-11
  • 来自专栏AI科技时讯

    高效部署:利用PMML实现机器学习模型的无缝集成

    例如,使用Python建立的模型可以导出为PMML,然后在Java生产环境中部署。 互操作性:PMML的标准协议使得兼容PMML的预测程序可以读取其他应用导出的标准PMML模型。 Java PMML API R模型 R pmml包:CRAN - Package pmml r2pmml:jpmml/r2pmml JPMML-R:提供命令行程序导出R模型到PMMLPMML4S Python PyPMML:Python库用于调用PMML,是PMML4S的Python接口包装。 总结 本文介绍了PMML这一跨平台的机器学习模型表示标准,包括其优缺点、常用的PMML开源库,以及如何生成和使用PMML的示例。 尽管PMML存在一些缺点,但其优点远远超过这些不足。 如果您训练的模型可以导出为PMML,建议使用PMML来进行部署。

    1.9K10编辑于 2024-07-04
  • 来自专栏全栈程序员必看

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

    PMML概述     PMML是数据挖掘的一种通用的规范,它用统一的XML格式来描述我们生成的机器学习模型。 当我们需要将这个PMML的模型用于部署的时候,可以使用目标环境的解析PMML模型的库来加载模型,并做预测。      可以看出,要使用PMML,需要两步的工作,第一块是将离线训练得到的模型转化为PMML模型文件,第二块是将PMML模型文件载入在线预测环境,进行预测。这两块都需要相关的库支持。 2. PMML模型的生成和加载相关类库     PMML模型的生成相关的库需要看我们使用的离线训练库。 加载PMML模型需要目标环境支持PMML加载的库,如果是JAVA,则可以用JPMML来加载PMML模型文件。相关的使用我们后面会有一个demo。 3.

    53320编辑于 2022-09-20
  • 来自专栏机器学习算法原理与实践

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

    PMML概述     PMML是数据挖掘的一种通用的规范,它用统一的XML格式来描述我们生成的机器学习模型。 当我们需要将这个PMML的模型用于部署的时候,可以使用目标环境的解析PMML模型的库来加载模型,并做预测。      可以看出,要使用PMML,需要两步的工作,第一块是将离线训练得到的模型转化为PMML模型文件,第二块是将PMML模型文件载入在线预测环境,进行预测。这两块都需要相关的库支持。 2. PMML模型的生成和加载相关类库     PMML模型的生成相关的库需要看我们使用的离线训练库。 加载PMML模型需要目标环境支持PMML加载的库,如果是JAVA,则可以用JPMML来加载PMML模型文件。相关的使用我们后面会有一个demo。 3.

    3.5K51发布于 2018-08-07
  • 来自专栏AI派

    【实战】Java如何跨语言调用Python/R训练的模型

    关于 PMML 内部的实现原理细节,我们这里不做深究,感兴趣的可以参见:http://dmg.org/pmml/v4-3/GeneralStructure.html PMML 能做什么 介绍完了 PMML 也就是说我们可以通过 Python 或 R 训练模型,将模型转为 PMML 文件,再使用 Java 根据 PMML 文件来构建 Java 程序。来看一张关于 PMML 用途的图片。 ? 离线部分与在线部分是通过 PMML 连接的,也就是说离线训练好了模型之后,将模型导出为 PMML 文件,在线部分加载该 PMML 文件生成对应的评估模型。 我们可以看到,PMML 是连接离线与在线环节的关键,一般导出 PMML 文件和 加载 PMML 文件都需要各个语言来做单独的实现。 导入 PMML 并进行评估 生成了 PMML 文件后,接下来我们要做的就是使用 Java 导入(加载)PMML文件。这里借助了 Java 的第三方依赖:pmml-evaluator。

    5.8K21发布于 2018-07-25
  • 来自专栏软件研发

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

    (model, ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'], 'model.pmml 最后,我们使用​​nyoka.export_to_pmml()​​函数将训练好的模型导出为PMML(Predictive Model Markup Language)格式的文件,命名为​​model.pmml​​ 通过使用​​nyoka​​包提供的导出功能,我们可以方便地将训练好的机器学习模型保存为可移植的PMML文件,以供后续的部署和使用。 格式nyoka.export_to_pmml(model, feature_names, output_file)# 从PMML文件中导入模型model = nyoka.from_pmml(pmml_file )上述代码中,我们使用​​nyoka.export_to_pmml()​​函数将训练好的模型导出为PMML格式,并使用​​nyoka.from_pmml()​​函数从PMML文件中导入模型。​​

    3.9K10编辑于 2023-10-27
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    在Java Web中使用Spark MLlib训练的模型

    PMML是一种通用的配置文件,只要遵循标准的配置文件,就可以在Spark中训练机器学习模型,然后再web接口端去使用。 PMML模型文件 模型下载到本地,重新命名为xml。 可以看到默认四个特征分别叫做feild_0,field_1...目标为target <? > <PMML version="4.2" xmlns="http://www.dmg.org/PMML-4_2"> <Header description="logistic regression > </dependency> 接口代码中直接读取<em>pmml</em>,使用模型进行预测: package soundsystem; import org.dmg.<em>pmml</em>.FieldName; import org.dmg.<em>pmml</em>.<em>PMML</em> <em>pmml</em> = new <em>PMML</em>(); try(InputStream inputStream = new FileInputStream("/Users/xingoo/Desktop/

    1.8K20发布于 2018-12-13
  • 来自专栏AI的那些事儿

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

    PMML PMML是一套通用的且与平台和环境无关的模型表示语言,也是目前机器学习在模型部署方面的一种标准部署方案,其形式是采用XML语言标记形式。 我们可以将自己训练的机器学习模型打包成PMML模型文件的形式,然后使用目标环境的解析PMML模型的库来完成模型的加载并做预测。 目前,大部分机器学习库都支持直接打包成PMML模型文件的相关函数,例如在Python中的LightGBM库,XGBoost库,Keras库等,都有对PMML的支持,直接使用相应的命令就可以生成,而在Java 、R等语言中,也有相关的库可以进行PMML文件生成的命令。 一般来讲,使用PMML文件进行预测的过程如下: ? 由于其平台无关性,导致PMML可以实现跨平台部署,是企业中部署机器学习模型的常见解决方案。

    3.2K11发布于 2020-05-09
  • 来自专栏素质云笔记

    转︱机器学习算法线上部署方法

    二、如何转换PMML,并封装PMML 大部分模型都可以用PMML的方式实现,PMML的使用方法调用范例见: jpmml的说明文档:GitHub - jpmml/jpmml-evaluator: Java Evaluator API for PMML; Java调用PMML的范例(PPJUtils/java/pmml at master · pjpan/PPJUtils · GitHub),此案例是我们的工程师写的范例 三、接下来说一下各个算法工具的工程实践 1.python模型上线:我们目前使用了模型转换成PMML上线方法。 Rserve方式可以批量预测,跟PMML的单个预测方式相比,在少数据量的时候,PMML速度更快,但是如果是1000一次一批的效率上看,Rserve的方式会更快;用Rserve上线的文件只需要提供两个: ,大家可以参考一下:Spark加载PMML进行预测。

    1.3K20发布于 2019-05-26
  • 来自专栏全栈程序员必看

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

    2)在自己的本地配置java环境,安装JDK,并在python里安装sklearn2pmml包 3)利用sklearn2pmml将python的model文件转成pmml文件 4)将pmml文件交给开发同学 ,开发同学用java来读取pmml并做预测 pmml是目前跨平台部署模型最常用的方法,无论你的模型是sklearn,R还是sparkMLlib生成的,都可以转成pmml格式,具有广泛的支持性,同时具有可读性 ,用文本编辑器可直接打开pmml文件查看里面的内容。 不过pmml也有以下两个缺点,在使用时需要注意: 1)pmml为了实现跨平台,牺牲了很多平台独有的优化,pmml文件要比在python环境的模型文件大很多,并且pmml文件的加载速度也比python文件慢很多 2)pmml文件和python的model文件在预测时会有一点偏差,这是由于pmml用的是64位浮点,python用的是32位浮点,会在预测概率的小数4-6位上有稍许偏差。

    1.7K12编辑于 2022-08-19
  • 来自专栏Hadoop数据仓库

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

    |table_to_pmml.sql_in|PASS|Time: 34508 milliseconds TEST CASE RESULT|Module: pmml|pmml_rf.sql_in|PASS |Time: 35993 milliseconds TEST CASE RESULT|Module: pmml|pmml_ordinal.sql_in|PASS|Time: 15540 milliseconds TEST CASE RESULT|Module: pmml|pmml_multinom.sql_in|PASS|Time: 12546 milliseconds TEST CASE RESULT|Module : pmml|pmml_glm_poisson.sql_in|PASS|Time: 7321 milliseconds TEST CASE RESULT|Module: pmml|pmml_glm_normal.sql_in : pmml|pmml_glm_binomial.sql_in|PASS|Time: 12977 milliseconds TEST CASE RESULT|Module: pmml|pmml_dt.sql_in

    1.6K70发布于 2018-01-03
  • 来自专栏CSDN技术头条

    机器学习算法线上部署方法

    二、如何转换PMML,并封装PMML 大部分模型都可以用PMML的方式实现,PMML的使用方法调用范例见: jpmml的说明文档:GitHub - jpmml/jpmml-evaluator: Java Evaluator API for PMML; Java调用PMML的范例(PPJUtils/java/pmml at master · pjpan/PPJUtils · GitHub),此案例是我们的工程师写的范例 三、接下来说一下各个算法工具的工程实践 1.python模型上线:我们目前使用了模型转换成PMML上线方法。 Rserve方式可以批量预测,跟PMML的单个预测方式相比,在少数据量的时候,PMML速度更快,但是如果是1000一次一批的效率上看,Rserve的方式会更快;用Rserve上线的文件只需要提供两个: :Spark加载PMML进行预测。

    2.8K100发布于 2018-02-12
  • 来自专栏携程技术

    干货 | 机器学习算法线上部署方法

    如果是实时、大数据量的预测应用,则会采用SOA,训练好的模型转换成PMML(关于如何转换,我在下面会详细描述),然后把模型封装成一个类,用Java调用这个类来预测。 大概场景罗列完毕,简要介绍一下各不同工具的线上应用的实现方式; 二、如何转换PMML,并封装PMML 大部分模型都可以用PMML的方式实现,PMML的使用方法调用范例见: jpmml的说明文档:GitHub PMML的范例(https://github.com/pjpan/PPJUtils/tree/master/java/pmml),此案例是我们的工程师写的范例,大家可以根据此案例进行修改即可; Jpmml 转换成PMML,所以调用起来很方便。 ,可以用R model转换PMML的方式来实现。

    3.1K61发布于 2018-03-16
  • 来自专栏机器学习算法原理与实践

    tensorflow机器学习模型的跨平台上线

        在用PMML实现机器学习模型的跨平台上线中,我们讨论了使用PMML文件来实现跨平台模型上线的方法,这个方法当然也适用于tensorflow生成的模型,但是由于tensorflow模型往往较大,使用无法优化的 PMML文件大多数时候很笨拙,因此本文我们专门讨论下tensorflow机器学习模型的跨平台上线的方法。 1. tensorflow模型的跨平台上线的备选方案     tensorflow模型的跨平台上线的备选方案一般有三种:即PMML方式,tensorflow serving方式,以及跨语言API方式。 PMML方式的主要思路在上一篇以及讲过。 这里唯一的区别是转化生成PMML文件需要用一个Java库jpmml-tensorflow来完成,生成PMML文件后,跨语言加载模型和其他PMML模型文件基本类似。     

    1.5K20发布于 2018-08-07
  • 来自专栏挖掘大数据

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

    离线计算结果落地、结合 BDK 进行周期性离线计算是我们平台第二个版本主要关注的,具体架构有了以下演进: v3.0(实时预测 & 交叉验证) 实时预测 在我们的平台中可以通过建模实验训练模型,模型可以通过 PMML 于是 3.0 的架构中我们开发了提供实时预测服务的 tcscoring 系统: tcscoring 系统的依赖介质就是模型的 PMML 文件,用户可以在机器学习平台上直接部署训练完成了的模型对应的 PMML 文件,或者通过其他路径生成的 PMML 文件。 部署成功后会返回用于预测的 rest 接口供业务使用: 当然,PMML 的部署也可以结合 BDK 设置成周期性调度,这些结合模型的周期性训练,整个训练 + 预测的过程都可以交给机器学习平台 +BDK

    3.9K00发布于 2017-12-27
  • 来自专栏Cloud Data AI

    Hadoop 实战:从海量数据到 AI 决策的落地方法

    tableEnv.sqlQuery("SELECT user_id, feature FROM hbase_feature"),调用模型 API 输出推荐列表毫秒级(≤100ms)边缘决策(IoT 设备风控)PMML 模型 + 嵌入式系统用MRS PMML 转换工具将模型导出为 PMML 格式:java -jar pmml-converter.jar model.bin model.pmml微秒级2.

    39510编辑于 2025-12-09
  • 来自专栏数据派THU

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

    PMML或预测模型标记语言,是另一种用于预测模型的交换格式。sklearn还有另一个扩展库,可用于将模型转换为PMML格式,这与ONNX是一致的。 然而,它的缺点是只支持某些类型的预测模型,PMML从1997年开始出现,大量的应用程序均采用这种格式。 例如:像SAP这样的应用程序能够利用PMML标准的某些版本,对于CRM应用程序(如PEGA)也是如此。 模型: 模型需要经过预先训练,通常导出到前面提到的 3 种格式之一 (pickle、 ONNX 或 PMML) ,以便可以将其移植到量产中。 Oracle通过其数据挖掘扩展支持PMML模型。 Pub/Sub 通过pub/sub模型实现实时预测,可以通过节流正确地处理负载。

    1.6K20发布于 2019-10-10
领券