CREATE_MODEL2プロシージャ

DBMS_DATA_MININGパッケージのCREATE_MODEL2プロシージャは、モデルを作成するためのモデル設定を定義するプロシージャです。

CREATE_MODEL2プロシージャを使用すれば、一時データベース・オブジェクトをユーザーが作成する必要がありません。モデルでは、構成設定とユーザー指定の変換を使用できます。CREATE_MODEL2プロシージャでは、入力は表またはビューであり、そのようなオブジェクトがまだ存在しない場合はユーザーが作成する必要があります。

DBMS_DATA_MINING.CREATE_MODEL2 (     
model_name            IN VARCHAR2,     
mining_function       IN VARCHAR2,     
data_query            IN CLOB,     
set_list              IN SETTING_LIST,     
case_id_column_name   IN VARCHAR2 DEFAULT NULL,     
target_column_name    IN VARCHAR2 DEFAULT NULL,     
xform_list            IN TRANSFORM_LIST DEFAULT NULL);

data_queryパラメータは、モデルを作成するためのトレーニング・データを提供する問合せを指定します。set_listパラメータでSETTING_LISTを指定します。SETTING_LISTVARCHAR2(30)によるCLOB索引の表で、ここで索引は設定名でCLOBはその名前の設定値です。残りのパラメータは、CREATE_MODELプロシージャでカバーします。

DBMS_DATA_MININGパッケージのRENAME_MODELプロシージャを使用して、モデルの名前を変更することもできます。このプロシージャでは、指定した別の名前によって、MODEL_NAMEに対して指定されている機械学習モデルの値が変更されます。

次のCREATE_MODEL2プロシージャは、SVMアルゴリズムを使用して分類モデルを作成します。次の例のmining_data_build_vデータセットでは、顧客がアフィニティ・カード・プログラムを選択する可能性がわかります。

DECLARE
    v_setlist DBMS_DATA_MINING.SETTING_LIST;
BEGIN
    v_setlist('PREP_AUTO') := 'ON';
    v_setlist('ALGO_NAME') := 'ALGO_SUPPORT_VECTOR_MACHINES';
    v_setlist('SVMS_KERNEL_FUNCTION') := 'SVMS_LINEAR';
 
    DBMS_DATA_MINING.CREATE_MODEL2(
        MODEL_NAME          => 'SVM_MODEL',
        MINING_FUNCTION     => 'CLASSIFICATION',
        DATA_QUERY          => 'select * from mining_data_build_v',
        SET_LIST            => v_setlist,
        CASE_ID_COLUMN_NAME => 'CUST_ID,
	TARGET_COLUMN_NAME  => 'AFFINITY_CARD');
END;