36.6 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;