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コードは、トレーニング済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
)
)
出力が次のように表示されます。
他のデータベースまたは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)分類モデルを使用して、アフィニティ・カード・ロイヤルティ・プログラムへの肯定的な応答者である可能性が最も高い顧客を特定しました。 したがって、このモデルを使用して、アフィニティ・カード・プログラムで価値の高い顧客になる可能性が高い顧客を予測できるため、ストアはマーケティング・リソースをより効果的に集中できます。
親トピック: 分類ユース・ケース