如何使用R将自定义转换添加到PMML?

佩蒂纳托

我试图将两个变量的函数添加到R中的PMML中。

我要执行的模型是

y = a + b * exp(Sepal.Width-Sepal.Length)^ 2

我希望PMML的输入为Sepal.Width和Sepal.Length。

我有以下代码来使字段derived_Sepal.Length成为字段,但是我不知道如何使用自定义转换函数,例如exp(Sepal.Width-Sepal.Length)^ 2。

library(pmml)
library(XML)
library(pmmlTransformations)
irisBox <- WrapData(iris)
irisBox <- ZScoreXform(irisBox,"Sepal.Length")

model <- lm(Petal.Width ~ derived_Sepal.Length - Sepal.Width, data=irisBox$data)
pmmlModel <- pmml(model,transforms=irisBox)

pmmlModelEnhanced <- addLT(pmmlModel,namespace="4_2")
saveXML(pmmlModelEnhanced, file=outputPMMLFilename)

任何使用R在PMML中进行数据转换的一般建议或技巧也将不胜感激。

谢谢!

用户名

当前,尚没有可用于将任意R表达式转换为PMML的工具。您将必须使用通用R XML API手动编写PMML代码段,然后将其附加到PMML文档,然后再写入文件。

假设您要使用派生字段my_field

my_field = (Sepal.Length - Sepal.Width)^2
# Use the my_field in your formula
lm = lm(Species ~ my_field, data = iris)
# Convert the lm() object to an in-memory XML DOM object
lm.pmml = pmml(lm)
# Fix the contents of the PMML/DataDictionary:
# 1) Remove the 'my_field' field definition
# 2) Add `Sepal.Length` and `Sepal.Width` field definitions - you will be referencing them in your custom expression, so they need to be available
lm.pmml = remove_datafield(lm.pmml, "my_field")
lm.pmml = add_datafield(lm.pmml, "Sepal.Width", "double", "continuous")
lm.pmml = add_datafield(lm.pmml, "Sepal.Length", "double", "continuous")
# Fix the contents of the PMML/TransformationDictionary:
# 1) Add 'my_field' field definition
lm.pmml = add_derivedfield(lm.pmml, ..)
# The PMML manipulation is done now, save it to a local filesystem file
saveXML(lm.pmml, outputPMMLFilename)

展望未来,您可能需要关注JPMML-Converter项目,因为自动R到PMML转换是该计划的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:将自定义图例添加到ggplot

来自分类Dev

如何将自定义矩阵添加到 Python 处理中的矩阵转换堆栈?

来自分类Dev

如何将自定义矩阵添加到 Python 处理中的矩阵转换堆栈?

来自分类Dev

如何使用Cartopy将自定义shapefile添加到地图

来自分类Dev

使用CocoaPods时如何将自定义项目配置添加到Xcode?

来自分类Dev

如何使用菜单布局将自定义项目添加到NavigationView?

来自分类Dev

如何使用openssl将自定义字段添加到证书

来自分类Dev

如何使用afBedSheet将自定义过滤器添加到HttpPipeline?

来自分类Dev

如何使用cloudformation将自定义策略添加到AWS中的服务链接角色?

来自分类Dev

如何使用Java将自定义字段添加到Salesforce中的现有对象

来自分类Dev

如何使用Jython将自定义属性添加到数据源?

来自分类Dev

如何使用自定义表单(与任何模型无关)将自定义页面添加到django admin?

来自分类Dev

如何将自定义地图和自定义数据添加到Highmaps?

来自分类Dev

如何将自定义文件添加到自定义文章列表页面

来自分类Dev

将自定义标头添加到“请求”

来自分类Dev

Hibernate将自定义前缀添加到目录

来自分类Dev

将自定义函数添加到类

来自分类Dev

将自定义类添加到引导按钮

来自分类Dev

将自定义键绑定添加到XCode

来自分类Dev

无法将自定义字体添加到Xcode

来自分类Dev

将自定义属性添加到Serilog

来自分类Dev

pyqt:将自定义列添加到QFileSystemModel

来自分类Dev

将自定义视图添加到警报视图

来自分类Dev

将自定义别名添加到.zshrc

来自分类Dev

将自定义标签添加到TIFF文件

来自分类Dev

将自定义代码段添加到emmet

来自分类Dev

将自定义Gradle插件添加到项目

来自分类Dev

将自定义数字添加到ggplot图例

来自分类Dev

将自定义属性添加到SimpleSAMLPhp

Related 相关文章

  1. 1

    R:将自定义图例添加到ggplot

  2. 2

    如何将自定义矩阵添加到 Python 处理中的矩阵转换堆栈?

  3. 3

    如何将自定义矩阵添加到 Python 处理中的矩阵转换堆栈?

  4. 4

    如何使用Cartopy将自定义shapefile添加到地图

  5. 5

    使用CocoaPods时如何将自定义项目配置添加到Xcode?

  6. 6

    如何使用菜单布局将自定义项目添加到NavigationView?

  7. 7

    如何使用openssl将自定义字段添加到证书

  8. 8

    如何使用afBedSheet将自定义过滤器添加到HttpPipeline?

  9. 9

    如何使用cloudformation将自定义策略添加到AWS中的服务链接角色?

  10. 10

    如何使用Java将自定义字段添加到Salesforce中的现有对象

  11. 11

    如何使用Jython将自定义属性添加到数据源?

  12. 12

    如何使用自定义表单(与任何模型无关)将自定义页面添加到django admin?

  13. 13

    如何将自定义地图和自定义数据添加到Highmaps?

  14. 14

    如何将自定义文件添加到自定义文章列表页面

  15. 15

    将自定义标头添加到“请求”

  16. 16

    Hibernate将自定义前缀添加到目录

  17. 17

    将自定义函数添加到类

  18. 18

    将自定义类添加到引导按钮

  19. 19

    将自定义键绑定添加到XCode

  20. 20

    无法将自定义字体添加到Xcode

  21. 21

    将自定义属性添加到Serilog

  22. 22

    pyqt:将自定义列添加到QFileSystemModel

  23. 23

    将自定义视图添加到警报视图

  24. 24

    将自定义别名添加到.zshrc

  25. 25

    将自定义标签添加到TIFF文件

  26. 26

    将自定义代码段添加到emmet

  27. 27

    将自定义Gradle插件添加到项目

  28. 28

    将自定义数字添加到ggplot图例

  29. 29

    将自定义属性添加到SimpleSAMLPhp

热门标签

归档