标签: pmml

在生产中部署R模型的选项

在生产中部署预测模型似乎没有太多选择,这在大数据爆炸式增长的情况下令人惊讶.

据我所知,开源PMML可用于将模型导出为XML规范.然后,这可以用于数据库内评分/预测.但是,为了完成这项工作,您需要使用Zementis的PMML插件,这意味着该解决方案不是真正的开源.是否有更简单的开放方式将PMML映射到SQL进行评分?

另一种选择是使用JSON而不是XML来输出模型预测.但在这种情况下,R模型会在哪里?我假设它总是需要映射到SQL ...除非R模型可以与数据位于同一服务器上,然后使用R脚本运行该传入数据?

还有其他选择吗?

deployment r classification machine-learning pmml

36
推荐指数
3
解决办法
3万
查看次数

Logistic回归PMML不会产生概率

作为机器学习部署项目的一部分,我构建了一个概念验证,我使用R glm函数和python 为二进制分类任务创建了两个简单的逻辑回归模型scikit-learn.之后,我PMML使用pmmlR中的from sklearn2pmml.pipeline import PMMLPipeline函数和Python中的函数将训练好的简单模型转换为s .

接下来,我在KNIME中打开了一个非常简单的工作流程,看看我是否可以将这两个人PMML付诸行动.基本上,这种概念验证的目标是测试IT是否可以使用PMML我简单地交给他们的s来获取新数据.这个练习必须产生概率,就像原始的逻辑回归一样.

在KNIME,我只读4使用行的测试数据CSV Reader节点,请阅读PMML使用PMML Reader节点,最后得到该模型用得分测试数据PMML Predictor节点.问题是预测不是我想要的最终概率,而是在此之前的一步(系数之和乘以自变量值,我猜是XBETA?).请参阅下图中的工作流程和预测:

KNIME输出

要获得最终概率,需要通过sigmoid函数运行这些数字.所以基本上对于第一个记录,而不是2.654,我需要1/(1+exp(-2.654)) = 0.93.我确信该PMML文件包含启用KNIME(或任何其他类似平台)为我执行此sigmoid操作所需的信息,但我找不到它.那是我迫切需要帮助的地方.

我查看了回归一般回归 PMML文档,我的PMML看起来很好,但我无法弄清楚为什么我无法获得这些概率.

任何帮助都非常感谢!

附件1 - 这是我的测试数据:

age credit  payfreq gmi
25  550 4   1500
27  650 4   3400
35  600 2   3200
40  680 2   4000
Run Code Online (Sandbox Code Playgroud)

附件2 - 这是我生成的R-PMML:

<?xml version="1.0"?>
<PMML version="4.2" xmlns="http://www.dmg.org/PMML-4_2" …
Run Code Online (Sandbox Code Playgroud)

python r knime pmml data-science

25
推荐指数
1
解决办法
1018
查看次数

导出python scikit学习模型到pmml

我想将python scikit-learn模型导出到PMML中.

什么python包最适合?

我读过奥古斯都,但我找不到任何使用scikit-learn模型的例子.

python scikit-learn pmml

17
推荐指数
1
解决办法
2万
查看次数

Java支持PMML

我是PMML的新手:Predictive Model Markup Language(www.dmg.org),我想知道是否有某种Java支持(开源/专业)用于创建/解析PMML文件.

最初,我只考虑从Java环境以编程方式创建/解析PMML文件的可能性.

我一直在"谷歌搜索",我发现了几种可能性:

开源:

来自Java.

  • JDM.javax.datamining.好像死了?有人有更多信息?

专业的.

DIY

  • 使用XML Java库并自己构建PMML文件的解析器/编写器

我感谢您的所有意见.

提前致谢

奥斯卡

java xml data-mining prediction pmml

9
推荐指数
1
解决办法
3256
查看次数

可以在R中读取PMML模型吗?

我有一个PMML文件,我试图在R中导入/读取它,根据它进行一些分析.虽然我发现了一个与PMML相关的软件包,但我找不到合适的函数来读取模型.有一种简单的方法可以将这种类型的文件读入R吗?

谢谢,

import r file pmml

9
推荐指数
2
解决办法
6002
查看次数

检测到的Maven版本:3.0.5不在允许的范围内3.2

我正在使用Maven,我在编译和构建项目时遇到错误.这是评估一些pmml文件的jpmml项目.现在我收到了这个错误:

规则0:org.apache.maven.plugins.enforcer.RequireMavenVersion失败并显示消息:Detected Maven Version:3.0.5不在允许的范围内3.2.

检查链接以查看图像:https: //www.dropbox.com/s/3r9d8g8l4r1zctp/maven_error.png?dl = 0

请帮忙!我对Java和Maven没有太多经验.

java maven pmml

9
推荐指数
3
解决办法
2万
查看次数

scikit-learn模型持久性:pickle vs pmml vs ...?

我构建了一个scikit-learn模型,我想在每日python cron作业中重用(注意:没有涉及其他平台 - 没有R,没有Java和c).

腌制它(实际上,我腌制了我自己的对象,其中一个字段是a GradientBoostingClassifier),我在cron作业中取消它.到目前为止一直这么好(并且已经在Scikit-Learn中将保存分类器讨论到磁盘在Scikit-Learn中进行模型持久性讨论了吗?).

但是,我升级了sklearn,现在我收到了这些警告:

.../.local/lib/python2.7/site-packages/sklearn/base.py:315: 
UserWarning: Trying to unpickle estimator DecisionTreeRegressor from version 0.18.1 when using version 0.18.2. This might lead to breaking code or invalid results. Use at your own risk.
UserWarning)
.../.local/lib/python2.7/site-packages/sklearn/base.py:315: 
UserWarning: Trying to unpickle estimator PriorProbabilityEstimator from version 0.18.1 when using version 0.18.2. This might lead to breaking code or invalid results. Use at your own …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 scikit-learn pmml

9
推荐指数
1
解决办法
2365
查看次数

如何在R中导出时间序列模型?

是否有标准(或可用)方法在R中导出时间序列模型?PMML可以工作,但当II尝试使用pmml库时,可能不正确,我收到一个错误:

例如,我的代码看起来类似于:

require(fpp)
library(forecast)
library(pmml)
data <- ts(livestock, start = 1970, end = 2000,frequency=3)
model <- ses(data , h=10 )
export <- pmml(model)
Run Code Online (Sandbox Code Playgroud)

而我得到的错误是:

Error in UseMethod("pmml") :   no applicable method for 'pmml' applied to an object of class "forecast"
Run Code Online (Sandbox Code Playgroud)

r pmml

8
推荐指数
1
解决办法
1556
查看次数

如何在C++中使用PMML模型?

我使用r2pmml将R模型转换为PMML.

我现在应该在机器的C++计算模块中使用这个模型,但我有点迷失(我之前从未使用过C++).我不能使用Java PMML评估引擎(如本答案中所提出的),所以我想我必须找到一个" 基于C++的PMML评估引擎 ".

PMMLlib似乎用于从C++创建PMML文件,而不是用来读取它们.我找到了许多用于C++的XML解析器(pugixml,tinyxml2,XmlLite),但我不知道是否有任何这些可用于读取PMML.

如果他们能够和我正确理解工作方式,他们将创建一个包含我的模型的文档对象模型,我将能够在XPath中使用这个对象吗?
否则,我想知道如何用C++解析PMML文件以及如何使用生成的对象.

c++ xml r pmml

8
推荐指数
0
解决办法
2278
查看次数

Spark ml和PMML导出

我知道这是可能的模型导出为PMMLSpark-MLlib,但怎么样Spark-ML

是否有可能转换LinearRegressionModelorg.apache.spark.ml.regressionLinearRegressionModelorg.apache.spark.mllib.regression到能够调用的toPMML()方法?

java linear-regression pmml apache-spark

7
推荐指数
1
解决办法
2748
查看次数