機械翻訳について

3.1.5 モデルのデプロイ

機械学習モデルSVM_CLASSIFICATION_MODELは正常にトレーニングされ、最上位のデータベース・オブジェクトとしてスキーマに存在します。 このモデルはRから直接使用できますが、データベース・アプリケーションでは、SQL問合せから直接実行することもできます。

SQLでのSVMモデルの使用

これを容易にするために、Rデータ・フレームDEMO_DFの構造をミラー化するSQL表SVM_TEST_TABLEを作成します。 これにより、モデルの予測をデータベース・ワークフローにシームレスに統合できます。 トレーニング済SVMモデルをSQL環境で使用するには、次のステップに従います:

  • Rデータ・フレームの構造をミラー化する表を作成し、データベース内のシームレスな予測ワークフローを可能にします。

    ノート:

    SQL問合せを介してモデルに提供されるデータは、Rでモデルの構築に使用されるデータと同じ方法で準備する必要があります。
    ore.drop(table = "SVM_TEST_TABLE")
    ore.create(DEMO_DF, table ="SVM_TEST_TABLE")
  • SQLインタフェースを使用して、データをスコアリングし、予測結果を表示します。
    SELECT CUST_ID,
        round(PREDICTION_YRS_RES,3) PRED_YRS_RES,
        RTRIM(TRIM(SUBSTR(OUTPRED."Attribute1",17,100)),'rank="1"/>') FIRST_ATTRIBUTE,
        RTRIM(TRIM(SUBSTR(OUTPRED."Attribute2",17,100)),'rank="2"/>') SECOND_ATTRIBUTE,
        RTRIM(TRIM(SUBSTR(OUTPRED."Attribute3",17,100)),'rank="3"/>') THIRD_ATTRIBUTE
    FROM (SELECT CUST_ID,
                 PREDICTION(SVM_CLASSIFICATION_MODEL USING *) PREDICTION_YRS_RES,
                 PREDICTION_DETAILS(SVM_CLASSIFICATION_MODEL USING *) PD
          FROM SVM_TEST_TABLE
          WHERE CUST_ID < 100015
          ORDER BY CUST_ID) OUT,
                   XMLTABLE('/Details'
                            PASSING OUT.PD
                            COLUMNS
                            "Attribute1" XMLType PATH 'Attribute[1]',
                            "Attribute2" XMLType PATH 'Attribute[2]',
                            "Attribute3" XMLType PATH 'Attribute[3]')  OUTPRED

    この図は、SQLインタフェースを使用した予測結果を示しています

    このSQLコードは、トレーニング済SVM分類モデル(SVM_CLASSIFICATION_MODEL)をデータベース環境内にデプロイして使用する方法を示します。 PREDICTION_DETAILS関数を使用して、新しいデータのスコアリング、予測値の抽出(PREDICTION_YRS_RES)および関連属性の取得(FIRST_ATTRIBUTE, SECOND_ATTRIBUTE, THIRD_ATTRIBUTE)のプロセスを示します。

RでのSVMモデルの使用

次のコードを使用して、予測を作成し、Rから直接予測詳細を取得することもできます:

z.show(predict(
    object = MOD,
    newdata = DEMO_DF.test,
    supplemental.cols = c("CUST_ID"),
    topN.attrs = 3
  )
)

出力が次のように表示されます。
このイメージは、SVMモデルを使用した予測結果を示しています

他のデータベースまたはOMLサービスへのモデルのデプロイ

他のデータベースまたはOMLサービスにモデルをデプロイするには、次のステップに従います:

  • モデルをエクスポートします:
    • DBMS_DATA_MINING.EXPORT_SERMODELプロシージャを使用して、モデルをBLOBオブジェクトにエクスポートします。
    • BLOBオブジェクトをファイルまたは別の記憶域のロケーションに保存します。
  • モデルを別のデータベースにインポートします:
    • ターゲット・データベースで、DBMS_DATA_MINING.IMPORT_SERMODELを使用して、BLOBオブジェクトからモデルをインポートします。
  • モデルをOMLサービスにデプロイします:
    • OML REST APIを使用してモデルをアップロードし、スコアリング用のRESTエンドポイントを作成します。 具体的な手順については、OMLサービスのドキュメントを参照してください。

詳細は、「DBMS_DATA_MININGパッケージ」および「OMLサービスのドキュメント」を参照してください。

このユース・ケースでは、Support Vector Machine (SVM)分類モデルを使用して、アフィニティ・カード・ロイヤルティ・プログラムへの肯定的な応答者である可能性が最も高い顧客を特定しました。 したがって、このモデルを使用して、アフィニティ・カード・プログラムで価値の高い顧客になる可能性が高い顧客を予測できるため、ストアはマーケティング・リソースをより効果的に集中できます。