0

我目前正在尝试为 Knime 分析平台构建模块。这将是一个生成并传递 PMML 模型作为其输出的模块。

到目前为止,我只能通过手动创建 PMMLDocument 然后创建一个新的 PMMLPortObject((PMMLPortObjectSpec)out_spec, pmmlDoc) 来完成此操作。

我的问题是手动创建 pmml 文档本身是否是正确的方法,或者是否有任何其他更简化的方法来执行此操作,可能是通过模板或类似的方法?

目前,手动生成一个 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");
    ...

可能会变得非常乏味,这让我想知道这实际上是否是最佳实践

4

1 回答 1

2

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

而且,是的,在你把结构弄下来之前,它是相当重复的。

于 2014-10-27T19:18:35.053 回答