在Knime模块中生成PMML

时间:2014-10-27 13:53:13

标签: knime pmml

我目前正在尝试为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");
    ...

可能变得相当乏味,这让我想知道这实际上是一种最佳实践

1 个答案:

答案 0 :(得分:2)

是的,就是这样。 PMML标准是XML规范,因此您正在做的是填写规范的所有字段。通常,您会编写一个为模型的每个类似重复子部分调用的过程,例如,决策树中的节点。

而且,是的,在你把结构搞定之前它是非常重复的。