我目前正在尝试为Knime分析平台构建模块。这将是一个模块,它生成并传递PMML模型作为其输出。
到目前为止,我只能通过手动创建PMMLDocument然后创建一个新的PMMLPortObject((PMMLPortObjectSpec)out_spec,pmmlDoc)来完成此操作。
我的问题是,手动创建pmml doc本身是否是正确的方法,或者是否有其他更简化的方法来实现这一点,可能是通过模板或类似的东西?
目前,手动生成pmml模型如下:
PMMLDocument resDoc = PMMLDocument.Factory.newInstance();
PMML pmml = PMML.Factory.newInstance();
pmml.setVersion("4.2");
Header header = pmml.addNewHeader();
header.setCopyright("some custom made copyright");
Application application = header.addNewApplication();
application.setName("KNIME");
application.setVersion("2.10.3");
...
可能变得相当乏味,这让我想知道这实际上是一种最佳实践
答案 0 :(得分:2)
是的,就是这样。 PMML标准是XML规范,因此您正在做的是填写规范的所有字段。通常,您会编写一个为模型的每个类似重复子部分调用的过程,例如,决策树中的节点。
而且,是的,在你把结构搞定之前它是非常重复的。