12.2. Red Hat Decision Manager の PMML のレガシーサポートおよび命名規則
Red Hat Decision Manager でプロジェクトに PMML ファイルを追加する場合には複数のアセットが生成されます。PMML モデルのタイプごとに、異なるアセットのセットが生成されますが、すべての PMML モデルタイプは少なくとも以下のアセットセットを生成します。
- PMML モデルに関連する全ルールを含む DRL ファイル
少なくとも以下の Java クラス 2 つが含まれている。
- モデルタイプのデフォルトオブエジェクトタイプとして使用するデータクラス
-
データソースとルール実行の管理に使用する
RuleUnitクラス
PMML ファイルに root モデルとして MiningModel が含まれている場合は、これらのファイルごとに複数のインスタンスが生成されます。
以下は、生成された PMML レガシーパッケージ、クラス、ルールの命名規則です。
-
PMML モデルファイルにパッケージ名が指定されていない場合は、
"org.kie.pmml.pmml_4_2"+modelNameの形式で、生成されたルールのモデル名に、デフォルトのパッケージ名org.kie.pmml.pmml_4_2がプリフィックスとして追加されます。 -
生成された
RuleUnitJava クラスのパッケージ名は、生成されたルールのパッケージ名と同じです。 -
生成された
RuleUnitJava クラスの名前は、RuleUnitにモデル名を追加してmodelName+"RuleUnit"の形式で指定します。 -
PMML モデルにはそれぞれ、最低でも生成されたデータクラスが 1 つ含まれます。これらのクラスのパッケージ名は
org.kie.pmml.pmml_4_2.modelです。 生成されたデータクラス名は、モデルタイプにより決まり、プリフィックスとしてモデル名を指定します。
-
回帰モデル:
modelName+"RegressionData"という名前のデータクラス 1 つ -
スコアカードモデル:
modelName+"ScoreCardData"という名前のデータクラス 1 つ -
ツリーモデル:
modelName+"TreeNode"という名前の 1 つ目のデータクラスと、modelName+"TreeToken"という名前の 2 つ目のデータクラス 2 つ -
マイニングモデル:
modelName+"MiningModelData"という名前のデータクラス 1 つ
-
回帰モデル:
注記
マイニングモデルは、各セグメントに含まれるルールとクラスすべても生成します。
12.2.1. Red Hat Decision Manager の PMML 拡張
PMML 仕様は、PMML レガシーモデルのコンテンツを拡張する Extension 要素をサポートします。モデルの主要要素の最初と最後の子として、PMML モデル定義のほぼすべてのレベルで拡張を使用し、最大限に柔軟性をもたせることができます。PMML 拡張の詳細は DMG PMML の Extension Mechanism を参照してください。
Red Hat Decision Manager は、PMML 統合を最適化するために以下の追加の PMML 拡張をサポートします。
-
modelPackage: 生成されたルールと Java クラスのパッケージ名を指定します。PMML モデルファイルのHeaderセクションにこの拡張を追加します。 -
adapter: ルールの入出力データを含めるのに使用するコンストラクトタイプ (beanまたはtrait) を指定します。PMML モデルファイルのMiningSchemaまたはOutputセクション (または両方) にこの拡張を挿入します。 -
externalClass:adapter拡張と連携して使用し、MiningFieldまたはOutputFieldを定義します。この拡張には、MiningFieldまたはOutputField要素名と一致する要素名のクラスが含まれます。