0

現在、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");
    ...

非常に退屈になる可能性があり、これが実際にベストプラクティスであるかどうか疑問に思います

4

1 に答える 1

2

はい、それはほとんどそれです。PMML 標準は XML 仕様であるため、ここで行っていることは、仕様のすべてのフィールドに入力することです。通常、モデルの同様の反復サブパートごとに呼び出されるプロシージャを作成します (たとえば、ディシジョン ツリーのノードなど)。

そして、はい、構造を理解するまでかなり繰り返します。

于 2014-10-27T19:18:35.053 に答える