Unified clustering is a tool that provides a unified interface for calling various clustering algorithms. These algorithms include AHC, DBSCAN, GMM, AKMEANS, KMEANS, KMEDIANS, KMEDOIDS, SOM, AP, and SP. For GMM and AP, specific parameters need to be configured. Unified clustering also creates models after training and performs cluster assignment through the model. More information about each clustering method can be found in the corresponding topic.
------

SET SCHEMA DM_PAL;

DROP TABLE MY_DATA_TABLE; 
CREATE COLUMN TABLE MY_DATA_TABLE (
    "DATA_ID" INTEGER,    
    "V000" DOUBLE,    
    "V001" VARCHAR(2),    
    "V002" DOUBLE
); 

INSERT INTO MY_DATA_TABLE VALUES (0, 0.5, 'A', 0.5); 
INSERT INTO MY_DATA_TABLE VALUES (1, 1.5, 'A', 0.5); 
INSERT INTO MY_DATA_TABLE VALUES (2, 1.5, 'A', 1.5); 
INSERT INTO MY_DATA_TABLE VALUES (3, 0.5, 'A', 1.5); 
INSERT INTO MY_DATA_TABLE VALUES (4, 1.1, 'B', 1.2); 
INSERT INTO MY_DATA_TABLE VALUES (5, 0.5, 'B', 15.5); 
INSERT INTO MY_DATA_TABLE VALUES (6, 1.5, 'B', 15.5); 
INSERT INTO MY_DATA_TABLE VALUES (7, 1.5, 'B', 16.5); 
INSERT INTO MY_DATA_TABLE VALUES (8, 0.5, 'B', 16.5); 
INSERT INTO MY_DATA_TABLE VALUES (9, 1.2, 'C', 16.1); 
INSERT INTO MY_DATA_TABLE VALUES (10, 15.5, 'C', 15.5); 
INSERT INTO MY_DATA_TABLE VALUES (11, 16.5, 'C', 15.5); 
INSERT INTO MY_DATA_TABLE VALUES (12, 16.5, 'C', 16.5); 
INSERT INTO MY_DATA_TABLE VALUES (13, 15.5, 'C', 16.5); 
INSERT INTO MY_DATA_TABLE VALUES (14, 15.6, 'D', 16.2); 
INSERT INTO MY_DATA_TABLE VALUES (15, 15.5, 'D', 0.5); 
INSERT INTO MY_DATA_TABLE VALUES (16, 16.5, 'D', 0.5); 
INSERT INTO MY_DATA_TABLE VALUES (17, 16.5, 'D', 1.5); 
INSERT INTO MY_DATA_TABLE VALUES (18, 15.5, 'D', 1.5); 
INSERT INTO MY_DATA_TABLE VALUES (19, 15.7, 'A', 1.6); 

DROP TABLE PAL_PARAMETER_TBL; 
CREATE COLUMN TABLE PAL_PARAMETER_TBL (
"NAME" VARCHAR (50),
"INT_VALUE" INTEGER,
"DOUBLE_VALUE" DOUBLE,
"STRING_VALUE" VARCHAR (100)
); 

INSERT INTO PAL_PARAMETER_TBL VALUES ('FUNCTION', NULL, NULL, 'KMEANS');
INSERT INTO PAL_PARAMETER_TBL VALUES ('THREAD_RATIO', NULL, 1.0, NULL); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('N_CLUSTERS', 4, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('INIT', 1, NULL, NULL);
INSERT INTO PAL_PARAMETER_TBL VALUES ('DISTANCE_LEVEL',2, NULL, NULL); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('MAX_ITER', 100, NULL, NULL); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('TOL', NULL, 1.0E-6, NULL); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('CATEGORY_WEIGHTS', NULL, 0.5, NULL);

CALL _SYS_AFL.PAL_UNIFIED_CLUSTERING(MY_DATA_TABLE,PAL_PARAMETER_TBL, ?, ?,?,?,?,?,?);

