PL/SQL API
OML4SQL PL/SQL APIは、DBMS_DATA_MINING PL/SQLパッケージに組み込まれています。これには、機械学習モデルを作成、テストおよび維持するためのルーチンがあります。このパッケージにはバッチ適用操作もあります。
次の例に、SVMC_SH_Clas_sampleというSVM 分類モデルを作成するための単純なPL/SQLスクリプトの一部を示します。モデルの作成では、重み付け表で指定される重みと、設定表で指定される設定が使用されます。重みは、ターゲット・クラスの重み付けに影響します。設定は、デフォルトの動作に優先します。モデルでは、自動データ準備(prep_auto_on設定)が使用されます。モデルは、mining_data_build_vのデータに対してトレーニングされます。
例5-1 分類モデルの作成
----------------------- CREATE AND POPULATE A CLASS WEIGHTS TABLE ------------
CREATE TABLE svmc_sh_sample_class_wt (
target_value NUMBER,
class_weight NUMBER);
INSERT INTO svmc_sh_sample_class_wt VALUES (0,0.35);
INSERT INTO svmc_sh_sample_class_wt VALUES (1,0.65);
COMMIT;
----------------------- CREATE AND POPULATE A SETTINGS TABLE ------------------
CREATE TABLE svmc_sh_sample_settings (
setting_name VARCHAR2(30),
setting_value VARCHAR2(4000));
BEGIN
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.algo_name, dbms_data_mining.algo_support_vector_machines);
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.svms_kernel_function, dbms_data_mining.svms_linear);
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.clas_weights_table_name, 'svmc_sh_sample_class_wt');
INSERT INTO svmc_sh_sample_settings (setting_name, setting_value) VALUES
(dbms_data_mining.prep_auto, dbms_data_mining.prep_auto_on);
END;
/
------------------------ CREATE THE MODEL -------------------------------------
BEGIN
DBMS_DATA_MINING.CREATE_MODEL(
model_name => 'SVMC_SH_Clas_sample',
mining_function => dbms_data_mining.classification,
data_table_name => 'mining_data_build_v',
case_id_column_name => 'cust_id',
target_column_name => 'affinity_card',
settings_table_name => 'svmc_sh_sample_settings');
END;
/