The content discusses the evaluation of a training model in unified classification. Three output tables are provided: statistics table, confusion matrix table, and metrics table. The statistics table includes metrics such as AUC, recall, precision, F1-score, support, accuracy, Kappa, and MCC. The confusion matrix table shows the results of the confusion matrix calculation. The metrics table provides additional evaluation metrics for the model.
------

SET SCHEMA DM_PAL;

DROP TABLE  PAL_DATA_TBL;
CREATE COLUMN TABLE PAL_DATA_TBL (
	"OUTLOOK" NVARCHAR(20),
	"TEMP" DOUBLE,
	"HUMIDITY" DOUBLE,
	"WINDY" NVARCHAR(10),
	"CLASS" NVARCHAR(20)
);
INSERT INTO PAL_DATA_TBL VALUES ('Sunny', 75, 70.0, 'Yes', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Sunny', 80, 90.0, 'Yes', 'Do not Play');
INSERT INTO PAL_DATA_TBL VALUES ('Sunny', 85, 91.0, 'No', 'Do not Play');
INSERT INTO PAL_DATA_TBL VALUES ('Sunny', 72, 95.0, 'No', 'Do not Play');
INSERT INTO PAL_DATA_TBL VALUES ('Sunny', 73, 70.0, 'No', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Overcast', 72.0, 90, 'Yes', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Overcast', 83.0, 78, 'No', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Overcast', 64.0, 65, 'Yes', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Overcast', 81.0, 75, 'No', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Rain', 71, 80.0, 'Yes', 'Do not Play');
INSERT INTO PAL_DATA_TBL VALUES ('Rain', 65, 70.0, 'Yes', 'Do not Play');
INSERT INTO PAL_DATA_TBL VALUES ('Rain', 75, 80.0, 'No', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Rain', 68, 80.0, 'No', 'Play');
INSERT INTO PAL_DATA_TBL VALUES ('Rain', 70, 96.0, 'No', 'Play');

DROP TABLE PAL_PARAMETER_TBL;
CREATE  COLUMN TABLE PAL_PARAMETER_TBL (
	"PARAM_NAME" NVARCHAR (100), 
	"INT_VALUE" INTEGER, 
	"DOUBLE_VALUE" DOUBLE, 
	"STRING_VALUE" NVARCHAR (100)
);

INSERT INTO PAL_PARAMETER_TBL VALUES ('FUNCTION', NULL, NULL, 'RDT');
INSERT INTO PAL_PARAMETER_TBL VALUES ('SEED', 1234, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('SPLIT_THRESHOLD', NULL, 0.0000001, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('MIN_SAMPLES_LEAF', 1, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('N_ESTIMATORS', 10, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('MAX_DEPTH', 55, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('PARTITION_METHOD', 2, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('PARTITION_RANDOM_SEED', 1234, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('PARTITION_STRATIFIED_VARIABLE', NULL, NULL, 'CLASS');
INSERT INTO PAL_PARAMETER_TBL VALUES ('PARTITION_TRAINING_PERCENT', NULL, 0.8, NULL); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('NTILES', 2, NULL, NULL); 

DROP TABLE PAL_MODEL_RDT_TBL;  
CREATE COLUMN TABLE PAL_MODEL_RDT_TBL (
	"ROW_INDEX" INTEGER,
	"PART_INDEX" INTEGER,
	"MODEL_CONTENT" NCLOB
);

DROP TABLE PAL_STAT_TBL;
CREATE COLUMN TABLE PAL_STAT_TBL (
	"STAT_NAME" NVARCHAR(256),
	"STAT_VALUE" NVARCHAR(1000),
	"CLASS_NAME" NVARCHAR(256)
);

DROP TABLE PAL_CMATRIX_TBL;
CREATE COLUMN TABLE PAL_CMATRIX_TBL (
	"ACTUAL_CLASS" NVARCHAR(256),
	"PREDICTED_CLASS" NVARCHAR(256),
	"COUNT" INTEGER
);

DROP TABLE PAL_METRICS_TBL;
CREATE COLUMN TABLE PAL_METRICS_TBL (
	"NAME" NVARCHAR(256),
	"X" DOUBLE,
	"Y" DOUBLE 
);

DO
BEGIN
	lt_data = SELECT * FROM PAL_DATA_TBL;
	lt_ctrl = SELECT * FROM PAL_PARAMETER_TBL;
	CALL _SYS_AFL.PAL_UNIFIED_CLASSIFICATION (:lt_data, :lt_ctrl, lt_model,lt_imp,lt_stat, lt_opt,lt_cm,lt_metrics,lt_partition,lt_ph1);
	INSERT INTO PAL_MODEL_RDT_TBL SELECT * FROM :lt_model;
	INSERT INTO PAL_STAT_TBL SELECT * FROM :lt_stat;
	INSERT INTO PAL_CMATRIX_TBL SELECT * FROM :lt_cm;
	INSERT INTO PAL_METRICS_TBL SELECT * FROM :lt_metrics;
END;
SELECT * FROM PAL_STAT_TBL;
SELECT * FROM PAL_CMATRIX_TBL;
SELECT * FROM PAL_METRICS_TBL;
