第3章 Red Hat Process Automation Manager における PMML サポート

Red Hat Process Automation Manager には、以下の PMML 4.2.1 モデルタイプに対するコンシューマー適合サポートが含まれます。

Red Hat Process Automation Manager でサポートされていないモデルを含め、すべての PMML モデルタイプの一覧については、DMG PMML specification を参照してください。

Red Hat Process Automation Manager には、PMML モデルエディターが同梱されていますが、XML または PMML 固有のオーサリングツールを使用して、Red Hat Process Automation Manager のデシジョンサービスで PMML モデルを作成することができます。Business Central (Menu → Design → Projects → Import Asset) でプロジェクトに PMML ファイルをインポートするか、Business Central なしにナレッジ JAR (KJAR) ファイルの一部として PMML ファイルをパッケージ化できます。

Red Hat Process Automation Manager でプロジェクトに PMML ファイルを追加する場合には複数のアセットが生成されます。PMML モデルのタイプごとに、異なるアセットのセットが生成されますが、すべての PMML モデルタイプは少なくとも以下のアセットセットを生成します。

  • PMML モデルに関連する全ルールを含む DRL ファイル
  • 少なくとも以下の Java クラス 2 つが含まれていること

    • モデルタイプのデフォルトオブエジェクトタイプとして使用するデータクラス
    • データソースとルール実行の管理に使用する RuleUnit クラス

PMML ファイルに root モデルとして MiningModel が含まれている場合には、これらのファイルごとに複数のインスタンスが生成されます。

プロジェクトのパッケージ化およびデプロイメントの方法に、PMML ファイルなどのアセットを追加する方法の詳細は、『Red Hat Process Automation Manager プロジェクトのパッケージ化およびデプロイ』を参照してください

3.1. Red Hat Process Automation Manager の PMML 命名規則

以下は、生成された PMML パッケージ、クラス、ルールの命名規則です。

  • PMML モデルファイルにパッケージ名が指定されていない場合には、"org.kie.pmml.pmml_4_2"+modelName の形式で、生成されたルールのモデル名に、デフォルトのパッケージ名 org.kie.pmml.pmml_4_2 がプリフィックスとして追加されます。
  • 生成された RuleUnit Java クラスのパッケージ名は、生成されたルールのパッケージ名と同じです。
  • 生成された RuleUnit Java クラス名は、RuleUnit にモデル名を追加して modelName+"RuleUnit" の形式で指定します。
  • PMML モデルにはそれぞれ、最低でも生成されたデータクラスが 1 つ含まれます。これらのクラスのパッケージ名は org.kie.pmml.pmml_4_2.model です。
  • 生成されたデータクラス名は、モデルタイプにより決まり、プリフィックスとしてモデル名を指定します。

    • 回帰モデル: modelName+"RegressionData" という名前のデータクラス 1 つ
    • スコアカードモデル: modelName+"ScoreCardData" という名前のデータクラス 1 つ
    • ツリーモデル: 1 つ目は modelName+"TreeNode" という名前で、2 つ目は modelName+"TreeToken" という名前の合計 2 つのデータクラス
    • マイニングモデル: modelName+"MiningModelData" という名前のデータクラス 1 つ
注記

マイニングモデルは、各セグメントに含まれるルールとクラスすべても生成します。

3.2. Red Hat Process Automation Manager における PMML 拡張

PMML 仕様は、PMML モデルのコンテンツを拡張する Extension 要素をサポートします。モデルの主要要素の最初と最後の子として、PMML モデル定義のほぼすべてのレベルで拡張を使用し、最大限に柔軟性をもたせることができます。PMML 拡張の詳細は DMG PMML Extension Mechanism を参照してください。

Red Hat Process Automation Manager は、PMML 統合を最適化するために以下の追加の PMML 拡張をサポートします。

  • modelPackage: 生成されたルールと Java クラスのパッケージ名を指定します。PMML モデルファイルの Header セクションにこの拡張を追加します。
  • adapter: ルールの入出力データを含めるのに使用するコンストラクトタイプ (bean または trait) を指定します。PMML モデルファイルの MiningSchema または Output セクション (または両方) にこの拡張を挿入します。
  • externalClass: adapter 拡張と連携して使用し、MiningField または OutputField を定義します。この拡張には、MiningField または OutputField 要素名と一致する要素名のクラスが含まれます。