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

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

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

Red Hat Process Automation Manager は、PMML レガシーと PMML 信頼など、2 つの実装を提供します。

重要

PMML レガシーの実装は Red Hat Process Automation Manager 7.10.0 で非推奨となり、今後の Red Hat Process Automation Manager リリースで PMML 信頼実装に置き換えられます。

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 ファイルをパッケージ化できます。

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

PMML サービスを Kogito マイクロサービスの Red Hat ビルドに移行できます。Kogito マイクロサービスの Red Hat ビルドへの移行の詳細は、Kogito マイクロサービスの Red Hat ビルドへの移行 を参照してください。

12.1. Red Hat Process Automation Manager の PMML の信頼サポートおよび命名規則

Red Hat Process Automation Manager でプロジェクトに PMML ファイルを追加する場合は複数のアセットが生成されます。ツリーモデルおよびスコアカードモデルはルールに、リグレッションと最小モデルは Java クラスに変換されます。PMML モデルのタイプごとに、異なるアセットのセットが生成されますが、すべての PMML モデルタイプは少なくとも以下のアセットセットを生成します。

  • PMML のファイル名から名前が派生する root パッケージ
  • root パッケージでモデルをインスタンス化するために使用される Java ファクトリークラス
  • モデル名から派生するモデル固有のサブパッケージ
  • ルールモデルの場合にルールネットワークのインスタンス化に使用される rule-mapper クラス 2 つ
  • マイニングモデルの場合に親モデルにネスト化された子モデルパッケージとクラス
注記

現時点では、PMML ファイルごとに 1 つのモデルのみが使用できます。また、拡張機能は一時的にサポートされていません。

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

  • root のパッケージ名は、小文字でスペースが含まれない、元の PMML ファイルの名前である (例: sampleregression)。
  • 生成された factory Java クラスの名前は、fileName+"Factory" の形式で、後ろに Factory を追加し、最初の文字が大文字になっている PMML ファイル名です (例: SampleRegressionFactory)。
  • モデルのサブパッケージ名は小文字で、スペースのない元のモデルの名前です (例: compoundnestedpredicatescorecard)。
  • 生成されたデータクラス名は、モデルタイプにより決まります。

    • ルールモデル: トップレベルの PMMLRuleMappersImpl は、サブパッケージでネストされた PMMLRuleMapperImpl クラスへの参照を含めて生成されます。
    • マイニングモデル:

      • 作成した segmentation サブパッケージの名前は、modelName+"segmentation" 形式で、元のモデルをスペースなし、小文字で表記し、後ろに segmentation が追加されています (例: mixedminingsegmentation)。
      • segmentation サブパッケージでは、ネスト化されたモデルへの参照が含まれる segmentation Java クラスが作成されます。作成された segmentation Java クラスの名前は、modelName+Segmentation の形式で、後ろに Segmentation が追加されたモデル名です (例: MixedMiningSegmentation)。
      • それぞれのセグメントに、特定のサブパッケージが作成されます。セグメント固有のサブパッケージの名前は、小文字の元のモデル名に segment 名と 0 で始まる進捗整数が追加されたものです。形式は、modelName+segment+integer のようになります。(例: mixedminingsegment0mixedminingsegment1)

PMML 信頼実装における既知の制限

以下は、PMML 信頼には実装されない要素を記載しています。

  • Target 要素は実装されていません
  • Extension 要素が実装されていません
  • 実装されない MiningSchema または MiningField 要素には以下が含まれます。

    • importance
    • outliers
    • lowValue
    • highValue
    • invalidValueTreatment
    • invalidValueReplacement
  • 実装されない OutputField 要素には以下が含まれます。

    • 決定
    • ルール機能
    • アルゴリズム
    • isMultiValued
    • segmentId
    • isFinalResult
  • サポートされていない TransformationDictionary または LocalTransformation 式には以下が含まれます。

    • NormContinuous
    • NormDiscrete
    • MapValues
    • TextIndex
    • Aggregate
    • Lag
  • ModelStatsModelExplanation および ModelExplanation 要素は、リグレッション、ツリー、スコアカード、マイニングなど、どのモデルにも実装されていません。
  • verification 要素はツリー、スコアカード、およびマイニングモデルには実装されていません。
  • VariableWeight 要素はマイニングモデルに実装されていません
  • 実装されないツリーモデル要素には、以下が含まれます。

    • IsMissing または IsNotMissing
    • CompoundPredicateSurrogate
    • missingValuePenalty
    • splitCharacteristic
    • isScorable