7.1.2 OML4R関数を使用したインデータベース・モデル名および名前の変更について
各OREdm
のRモデル・オブジェクトで、スロットname
は、OREdm
関数で生成された基礎となるOML4SQLモデルの名前です。
デフォルトでは、OREdm
関数を使用して構築されたモデルは一時オブジェクトであるため、OML4Rデータストアに明示的に保存されないか、作成時に明示的な名前で指定されないかぎり、Rセッション終了後は保持されません。一方、Data MinerまたはPL/SQL APIを使用して構築されたOML4SQLモデルは、明示的に削除されるまで存在します。
Rプロキシ・オブジェクトを保存または保持できます。OREdm
関数で生成されたモデル・オブジェクトを保存すると、このオブジェクトはRセッション全体で存在でき、対応するインデータベース機械学習モデル・オブジェクトを所定の場所に保持できます。OREdm
モデルが存在する間、インデータベース・モデル・オブジェクトをエクスポートおよびインポートし、OML4Rオブジェクトとは無関係に使用できます。
odm.settings
のMODEL_NAME
パラメータを使用して、データベースで作成されたインデータベース・モデル・オブジェクトに明示的に名前を付けることができます。名前が付けられたデータベース内モデル・オブジェクトは、Oracle Data MinerまたはPL/SQLを使用して作成されたデータベース内モデル・オブジェクトのようにデータベースに保持されます。
例7-1 MODEL_NAME
パラメータを使用したインデータベース・モデルのプロキシ・オブジェクトの明示的な名前付け
この例では、ランダム・フォレスト・モデルを構築し、明示的な設定を使用してモデルに名前を付ける方法を示します。この例では、odm.settings
のMODEL_NAME
パラメータを使用して、データベースで作成されたインデータベース・モデル・オブジェクトに明示的に名前を付けます。
ore.drop(model='RF_CLASSIFICATION_MODEL') settings = list(RFOR_MTRY = 3, model_name="RF_CLASSIFICATION_MODEL") MOD2 <- ore.odmRF(AFFINITY_CARD~., DEMO_DF.train, odm.settings= settings) MOD2$nameこの例のリスト
'RF_CLASSIFICATION_MODEL'
前述のコードでは、RF_CLASSIFICATION_MODEL
という名前のモデルがすでに存在する場合は削除する必要があります。同じ名前のモデルを作成しようとすると例外がスローされるためです。RF_CLASSIFCIATION_MODEL
という名前のインデータベース・ランダム・フォレスト分類モデルは、指定された設定を使用して構築され、モデルは変数MOD2
によって参照されます。
Rモデルが存在するか、モデルにユーザー指定の名前を割り当てた場合は、OML4SQLモデル名を使用して、次のような他のインタフェースを介してOML4SQLモデルにアクセスします:
-
SQLインタフェース(SQL*Plus、SQL Developerなど)
-
Oracle Data Miner
具体的には、このモデルはOML4SQLの予測機能とともに使用できます。
Oracle Data Minerを使用して、次のことを実行できます。
-
利用可能なモデルのリストを表示する
-
モデル・ビューを使用してモデルの詳細を調べる
-
変換されたデータを適切にスコアリングする
ノート:
R空間での明示的なユーザー実行の変換は、SQLスコアリングまたはOracle Data Minerには継承されません。さらに、SQLを使用して、モデルの詳細を調べるため、または変換されたデータを適切にスコアリングするためのモデルのリストも取得できます。親トピック: OML4Rを使用したデータベース内モデルの構築について