The content describes the data partition process in the train procedure implementation. It explains that the input data can be divided into a train set and a validation set. The train set is used to generate the training model, while the validation set is used to evaluate the quality of the model. The content also provides information on the parameters that can be set to execute the data partition process, such as the partition method, training percentage, random seed, output partition result, and ignore zero values. Two examples are given to demonstrate how to perform data set partition with specific flag and random partition method.
------

SET SCHEMA DM_PAL;

DROP TABLE META_DATA_TAB;
CREATE COLUMN TABLE META_DATA_TAB(
    "VARIABLE_NAME" NVARCHAR(50),
    "VARIABLE_TYPE" NVARCHAR(50)
);

INSERT INTO META_DATA_TAB VALUES ('OUTLOOK',  'CATEGORICAL');
INSERT INTO META_DATA_TAB VALUES ('CLASS',    'TARGET');
INSERT INTO META_DATA_TAB VALUES ('TEMP',     'CONTINUOUS');
INSERT INTO META_DATA_TAB VALUES ('HUMIDITY', 'CONTINUOUS');
INSERT INTO META_DATA_TAB VALUES ('WINDY',    'CATEGORICAL');

DROP TABLE PAL_DATA_TBL;
CREATE COLUMN TABLE PAL_DATA_TBL(
    "ID" INT,
    "VARIABLE_NAME" NVARCHAR(50),
    "VALUE" NVARCHAR(50), 
    "PURPOSE" INT
);
INSERT INTO PAL_DATA_TBL VALUES (0,     'OUTLOOK',      'Sunny',    1);
INSERT INTO PAL_DATA_TBL VALUES (0,     'TEMP',         '75',       1);
INSERT INTO PAL_DATA_TBL VALUES (0,     'HUMIDITY',     '70',       1);
INSERT INTO PAL_DATA_TBL VALUES (0,     'WINDY',        'Yes',      1);
INSERT INTO PAL_DATA_TBL VALUES (0,     'CLASS',        '1',        1);
INSERT INTO PAL_DATA_TBL VALUES (1,     'OUTLOOK',      'Sunny',    1);
INSERT INTO PAL_DATA_TBL VALUES (1,     'TEMP',         '80',       1);
INSERT INTO PAL_DATA_TBL VALUES (1,     'HUMIDITY',     '90',       1);
INSERT INTO PAL_DATA_TBL VALUES (1,     'WINDY',        'Yes',      1);
INSERT INTO PAL_DATA_TBL VALUES (1,     'CLASS',        '0',        1);
INSERT INTO PAL_DATA_TBL VALUES (2,     'OUTLOOK',      'Sunny',  	1);
INSERT INTO PAL_DATA_TBL VALUES (2,     'TEMP',         '85',    	1);
INSERT INTO PAL_DATA_TBL VALUES (2,     'HUMIDITY',     '85',    	1);
INSERT INTO PAL_DATA_TBL VALUES (2,     'WINDY',        'No',   	1);
INSERT INTO PAL_DATA_TBL VALUES (2,     'CLASS',        '0',    	1);
INSERT INTO PAL_DATA_TBL VALUES (3,     'OUTLOOK',      'Sunny',    2);
INSERT INTO PAL_DATA_TBL VALUES (3,     'TEMP',         '72',  	    2);
INSERT INTO PAL_DATA_TBL VALUES (3,     'HUMIDITY',     '95',  	    2);
INSERT INTO PAL_DATA_TBL VALUES (3,     'WINDY',        'No',  	    2);
INSERT INTO PAL_DATA_TBL VALUES (3,     'CLASS',        '0',   	    2);
INSERT INTO PAL_DATA_TBL VALUES (4,     'OUTLOOK',      'Sunny',  	1);
INSERT INTO PAL_DATA_TBL VALUES (4,     'TEMP',         '69',   	1);
INSERT INTO PAL_DATA_TBL VALUES (4,     'HUMIDITY',     '70',   	1);
INSERT INTO PAL_DATA_TBL VALUES (4,     'WINDY',        'No',   	1);
INSERT INTO PAL_DATA_TBL VALUES (4,     'CLASS',        '1',    	1);
INSERT INTO PAL_DATA_TBL VALUES (5,     'OUTLOOK',      'Overcast', 1);
INSERT INTO PAL_DATA_TBL VALUES (5,     'TEMP',         '72',   	1);
INSERT INTO PAL_DATA_TBL VALUES (5,     'HUMIDITY',     '90',   	1);
INSERT INTO PAL_DATA_TBL VALUES (5,     'WINDY',        'Yes',  	1);
INSERT INTO PAL_DATA_TBL VALUES (5,     'CLASS',        '1',    	1);
INSERT INTO PAL_DATA_TBL VALUES (6,     'OUTLOOK',      'Overcast',	1);
INSERT INTO PAL_DATA_TBL VALUES (6,     'TEMP',         '83',   	1);
INSERT INTO PAL_DATA_TBL VALUES (6,     'HUMIDITY',     '78',   	1);
INSERT INTO PAL_DATA_TBL VALUES (6,     'WINDY',        'No',   	1);
INSERT INTO PAL_DATA_TBL VALUES (6,     'CLASS',        '0',    	1);
INSERT INTO PAL_DATA_TBL VALUES (7,     'OUTLOOK',      'Overcast',	1);
INSERT INTO PAL_DATA_TBL VALUES (7,     'TEMP',         '64',      	1);
INSERT INTO PAL_DATA_TBL VALUES (7,     'HUMIDITY',     '65',      	1);
INSERT INTO PAL_DATA_TBL VALUES (7,     'WINDY',        'Yes',     	1);
INSERT INTO PAL_DATA_TBL VALUES (7,     'CLASS',        '1',       	1);
INSERT INTO PAL_DATA_TBL VALUES (8,		'OUTLOOK',       'Overcast',1);
INSERT INTO PAL_DATA_TBL VALUES (8,     'TEMP',          '81',  	1);
INSERT INTO PAL_DATA_TBL VALUES (8,     'HUMIDITY',      '75',  	1);
INSERT INTO PAL_DATA_TBL VALUES (8,     'WINDY',         'No',  	1);
INSERT INTO PAL_DATA_TBL VALUES (8,     'CLASS',         '1',   	1);
INSERT INTO PAL_DATA_TBL VALUES (9,     'OUTLOOK',      'Rain', 	2);
INSERT INTO PAL_DATA_TBL VALUES (9,     'TEMP',         '71',   	2);
INSERT INTO PAL_DATA_TBL VALUES (9,     'HUMIDITY',     '80',   	2);
INSERT INTO PAL_DATA_TBL VALUES (9,     'WINDY',        'Yes',  	2);
INSERT INTO PAL_DATA_TBL VALUES (9,     'CLASS',        '0',    	2);
INSERT INTO PAL_DATA_TBL VALUES (10,    'OUTLOOK',      'Rain', 	1);
INSERT INTO PAL_DATA_TBL VALUES (10,    'TEMP',         '65',   	1);
INSERT INTO PAL_DATA_TBL VALUES (10,    'HUMIDITY',     '70',   	1);
INSERT INTO PAL_DATA_TBL VALUES (10,    'WINDY',        'Yes',  	1);
INSERT INTO PAL_DATA_TBL VALUES (10,    'CLASS',        '0'	,       1);
INSERT INTO PAL_DATA_TBL VALUES (11,    'OUTLOOK',      'Rain', 	1);
INSERT INTO PAL_DATA_TBL VALUES (11,    'TEMP',         '75',   	1);
INSERT INTO PAL_DATA_TBL VALUES (11,    'HUMIDITY',     '80',   	1);
INSERT INTO PAL_DATA_TBL VALUES (11,    'WINDY',        'No',   	1);
INSERT INTO PAL_DATA_TBL VALUES (11,    'CLASS',        '1',    	1);
INSERT INTO PAL_DATA_TBL VALUES (12,    'OUTLOOK',      'Rain', 	2);
INSERT INTO PAL_DATA_TBL VALUES (12,    'TEMP',         '68',   	2);
INSERT INTO PAL_DATA_TBL VALUES (12,    'HUMIDITY',     '80',   	2);
INSERT INTO PAL_DATA_TBL VALUES (12,    'WINDY',        'No',   	2);
INSERT INTO PAL_DATA_TBL VALUES (12,    'CLASS',        '1',    	2);
INSERT INTO PAL_DATA_TBL VALUES (13,    'OUTLOOK',      'Rain', 	2);
INSERT INTO PAL_DATA_TBL VALUES (13,    'TEMP',         '70',   	2);
INSERT INTO PAL_DATA_TBL VALUES (13,    'HUMIDITY',     '96',   	2);
INSERT INTO PAL_DATA_TBL VALUES (13,    'WINDY',        'No',   	2);
INSERT INTO PAL_DATA_TBL VALUES (13,    'CLASS',        '0',    	2);

DROP TABLE PAL_PARAMETER_TBL;
CREATE COLUMN TABLE PAL_PARAMETER_TBL (
    "PARAM_NAME" VARCHAR (256),
    "INT_VALUE" INTEGER,
    "DOUBLE_VALUE" DOUBLE,
    "STRING_VALUE" VARCHAR (1000)
);

INSERT INTO PAL_PARAMETER_TBL VALUES ('FUNCTION',null,null,'DT'); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('MODEL_FORMAT', 1, NULL, NULL); -- JSON
INSERT INTO PAL_PARAMETER_TBL VALUES ('SPLIT_THRESHOLD', NULL, 1e-5, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('MIN_RECORDS_PARENT', 2, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('MIN_RECORDS_LEAF', 1, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('PARTITION_METHOD',1,null,null); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('OUTPUT_PARTITION_RESULT',1,null,null); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('THREAD_RATIO', null,0.5,null);

CALL _SYS_AFL.PAL_UNIFIED_REGRESSION_PIVOT(META_DATA_TAB, PAL_DATA_TBL, PAL_PARAMETER_TBL, ?, ?, ?, ?, ?, ?);  
