すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:PMML プロセッサ

最終更新日:Aug 25, 2026

組み込みの PMML プロセッサは、PMML 形式のモデルをオンラインサービスとしてデプロイし、リアルタイムでオンライン推論を提供します。

背景情報

PMML プロセッサを使用して、からエクスポートした PMML モデルを にデプロイできます。また、Sklearn や Xgboost などのオープンソースフレームワークでトレーニングしたモデルを PMML 形式に変換してから にデプロイすることもできます。詳細については、「汎用モデルのエクスポート」をご参照ください。

PMML モデルの詳細については、「PMML モデルの概要」をご参照ください。

欠損値補完戦略

PMML プロセッサは、欠損値に対してデフォルトの補完戦略を提供します。PMML モデルファイル内のフィーチャーフィールドで isMissing ポリシーが指定されていない場合、システムは次のデフォルト値を使用します。

データ型

デフォルト値

BOOLEAN

false

DOUBLE

0.0

FLOAT

0.0

INT

0

文字列

""

ステップ 1:サービスのデプロイ

eascmd クライアントを使用して PMML モデルサービスをデプロイする場合、processor タイプを pmml に設定します。以下はサービス設定ファイルの例です。

{
  "name": "eas_lr_example",
  "processor": "pmml",
  "model_path": "http://examplebucket.oss-cn-shanghai.aliyuncs.com/models/lr.pmml",
  "metadata": {
    "instance": 1,
    "cpu": 1
  }
}

eascmd クライアントを使用してサービスをデプロイする方法の詳細については、「EASCMD または DSW を使用したサービスのデプロイ」をご参照ください。

コンソールで PMML モデルサービスをデプロイすることもできます。詳細については、「コンソールからのサービスのデプロイ」をご参照ください。

ステップ 2:サービスの呼び出し

サービスを呼び出すには、次の手順を実行します。

  1. PMML サービスがデプロイされたら、[Elastic Algorithm Service (EAS)] ページに移動し、呼び出したいサービスを見つけて サービス方式 列の 呼び出し情報 をクリックすると、サービスへのアクセスに使用されるエンドポイントとサービス認証に使用されるトークンが表示されます。

    サービスリクエストを構築します。

    PMML サービスは、入出力にプレーン JSON ファイルを使用します。1 つのリクエストで複数のサンプルをサポートしており、各サンプルはキーバリュー形式のフィーチャーデータです。以下はリクエストボディの例です。

    [
        {
            "address": 12,
            "age": 22,
            "ed": 4,
            "marital": 3.0,
            "region": 2.0,
            "tenure": 4.0
        },
        {
            "address": 2,
            "age": 34,
            "ed": 6,
            "marital": 1.3,
            "region": 2.1,
            "tenure": 4.2
        }
    ]
    説明

    サービスリクエストを送信する際、JSON ファイルから改行とスペースを削除することで、ネットワークトラフィックを削減し、サービスのパフォーマンスを向上させることができます。

  2. サービスリクエストを送信します。

    次の2つの方法が利用できます。

    重要

    HTTP ヘッダーで認証トークンを直接渡す場合、トークンはネットワーク上で平文として送信されます。が提供する SDK は、送信前に認証トークンを使用してリクエストに署名するため、より安全です。

    • curl コマンドを使用して、サービスに対する簡単なテストリクエストを実行します。

      サービスは HTTP エンドポイントを提供します。リクエストを送信する際、以下の例のように、HTTP ヘッダーで認証トークンを直接渡すことができます。

      // リクエストを送信します。
      curl -v 18284888792***.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml_test \
            -H 'Authorization: YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA***' \
            -d '[{"region": 2.0, "marital":3.0,"tenure":4.0, "age":22,"address":12,"ed":4},{"region": 2.1, "marital":1.3,"tenure":4.2, "age":34,"address":2,"ed":6}]'

      上記のコマンドの説明:

      • 18284888792***.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml_test:ステップ 1 で取得したエンドポイントに置き換えます。

      • Authorization:ステップ 1 で取得した認証トークンを指定します。

      以下は返された結果の例です。

      [{"p_0":0.2856724025030001,"p_1":0.7143275974969999},{"p_0":0.18324957921381624,"p_1":0.8167504207861838}]
    • Python SDK を使用してリクエストを送信します。詳細については、「Python SDK 使用ガイド」をご参照ください。

      以下のサンプルコードを参照してください。

      #!/usr/bin/env python
      
      from eas_prediction import PredictClient
      from eas_prediction import StringRequest
      
      if __name__ == '__main__':
          # ステップ 1 で取得したエンドポイントとサービス名に置き換えます。
          client = PredictClient('1828488879222***.cn-shanghai.pai-eas.aliyuncs.com', 'pmml_test')
          # ステップ 1 で取得した認証トークンに置き換えます。
          client.set_token('YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA***')
          client.init()
      
          req = StringRequest('[{"region": 2.0, "marital":3.0,"tenure":4.0, "age":22,"address":12,"ed":4},{"region": 2.1, "marital":1.3,"tenure":4.2, "age":34,"address":2,"ed":6}]')
          for x in range(100):
              resp = client.predict(req)
              print(resp)

    その他の言語のクライアント SDK の詳細については、「サービス呼び出し SDK」をご参照ください。

関連ドキュメント