Specify Model Settings
Understand how to configure machine learning models at build time.
Numerous configuration settings are available for configuring machine learning models at build time. To specify settings, create a settings table with the columns shown in the following table and pass the table to CREATE_MODEL
.
You can use CREATE_MODEL2
procedure where you can directly pass the model settings to a variable that can be used in the procedure. The variable can be declared with DBMS_DATA_MINING.SETTING_LIST
procedure.
Table 4-1 Settings Table Required Columns
Column Name | Data Type |
---|---|
|
|
|
|
Example 4-1 creates a settings table for a Support Vector Machine (SVM) classification model. Since SVM is not the default classifier, the ALGO_NAME
setting is used to specify the algorithm. Setting the SVMS_KERNEL_FUNCTION
to SVMS_LINEAR
causes the model to be built with a linear kernel. If you do not specify the kernel function, the algorithm chooses the kernel based on the number of attributes in the data.
Example 4-2 creates a model with the model settings that are stored in a variable from SETTING_LIST
.
Some settings apply generally to the model, others are specific to an algorithm. Model settings are referenced in Table 4-2 and Table 4-3.
Table 4-2 General Model Settings
Settings | Description |
---|---|
Machine learning function settings |
|
Algorithm names |
|
Global model characteristics |
|
Automatic Data Preparation |
Table 4-3 Algorithm-Specific Model Settings
Algorithm | Description |
---|---|
CUR Matrix Decomposition |
DBMS_DATA_MINING —Algorithm Settings: CUR Matrix Decomposition |
Decision Tree |
|
Expectation Maximization |
DBMS_DATA_MINING —Algorithm Settings: Expectation Maximization |
Explicit Semantic Analysis |
DBMS_DATA_MINING —Algorithm Settings: Explicit Semantic Analysis |
Exponential Smoothing |
DBMS_DATA_MINING —Algorithm Settings: Exponential Smoothing Models |
Generalized Linear Model |
DBMS_DATA_MINING —Algorithm Settings: Generalized Linear Models |
k-Means |
|
Multivariate State Estimation Technique - Sequential Probability Ratio Test |
|
Naive Bayes |
|
Neural Network |
|
Non-Negative Matrix Factorization |
DBMS_DATA_MINING —Algorithm Settings: Non-Negative Matrix Factorization |
O-Cluster |
|
Random Forest |
|
Singular Value Decomposition |
DBMS_DATA_MINING —Algorithm Settings: Singular Value Decomposition |
Support Vector Machine |
DBMS_DATA_MINING —Algorithm Settings: Support Vector Machine |
XGBoost |
Note:
Some XGBoost objectives apply only to classification function models and other objectives apply only to regression function models. If you specify an incompatible objective
value, an error is raised. In the DBMS_DATA_MINING.CREATE_MODEL
procedure, if you specify DBMS_DATA_MINING.CLASSIFICATION
as the function, then the only objective values that you can use are the binary
and multi
values. The one exception is binary: logitraw
, which produces a continuous value and applies only to a regression model. If you specify DBMS_DATA_MINING.REGRESSION
as the function, then you can specify binary: logitraw
or any of the count
, rank
, reg
, and survival
values as the objective.
The values for the XGBoost objective setting are listed in the Settings for Learning Tasks table in DBMS_DATA_MINING — Algorithm Settings: XGBoost.
Example 4-1 Creating a Settings Table and Creating an SVM Classification Model Using CREATE.MODEL procedure
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); COMMIT; END; / -- Create the model using the specified settings BEGIN DBMS_DATA_MINING.CREATE_MODEL( model_name => 'svm_model', 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;
Example 4-2 Specify Model Settings for a GLM Regression Model Using CREATE_MODEL2 procedure
DECLARE v_setlist DBMS_DATA_MINING.SETTING_LIST; BEGIN v_setlist('PREP_AUTO') := 'ON'; v_setlist('ALGO_NAME') := 'ALGO_GENERALIZED_LINEAR_MODEL'; v_setlist('GLMS_DIAGNOSTICS_TABLE_NAME') := 'GLMR_DIAG'; v_setlist('GLMS_FTR_SELECTION') := 'GLMS_FTR_SELECTION_ENABLE'; v_setlist('GLMS_FTR_GENERATION') := 'GLMS_FTR_GENERATION_ENABLE'; DBMS_DATA_MINING.CREATE_MODEL2( MODEL_NAME => 'GLM_REGR', MINING_FUNCTION => 'REGRESSION', DATA_QUERY => 'select * from TRAINING_DATA', SET_LIST => v_setlist, CASE_ID_COLUMN_NAME => 'HID', TARGET_COLUMN_NAME => 'MEDV'); END;
Related Topics
Model Settings
Oracle Machine Learning uses settings to specify the algorithm and model settings or hyperparameters. Some settings are general, some are specific to a machine learning function, and some are specific to an algorithm.
OML4SQL
- DBMS_DATA_MINING - Model Settings
- DBMS_DATA_MINING - Solver Settings
- Summary of DBMS_DATA_MINING Subprograms
- DBMS_DATA_MINING_TRANSFORM
- DBMS_PREDICTIVE_ANALYTICS
- Oracle Machine Learning Data Dictionary Views
- Model Detail Views
- Oracle Machine Learning SQL Statistical Functions
- Oracle Machine Learning for SQL Scoring Functions
- OML4SQL Examples on GitHub