Cosine Similarity for Distance Measure Example (Vector) using TD_KMeans - Teradata VantageCloud Lake

Lake - Analyze Your Data with ClearScape Analytics™

Deployment
VantageCloud
Edition
Lake
Product
Teradata VantageCloud Lake
Release Number
Published
February 2025
ft:locale
en-US
ft:lastEdition
2026-02-20
dita:mapPath
tcl1683670667798.ditamap
dita:ditavalPath
pny1626732985837.ditaval
dita:id
tcl1683670667798

Input

DROP TABLE input_table_udt;
CREATE MULTISET TABLE input_table_udt(id INTEGER, array_col Vector) PRIMARY INDEX ( id );
INSERT INTO input_table_udt values(1, '1, 1');
INSERT INTO input_table_udt values(2, '2, 2');
INSERT INTO input_table_udt values(3, '8, 8');
INSERT INTO input_table_udt values(4, '9, 9');
INSERT INTO input_table_udt values(5,'100,100');
INSERT INTO into input_table_udt values(6,'99,98');
INSERT INTO input_table_udt values(7,'345,678');
INSERT INTO input_table_udt values(8,'10,10');
INSERT INTO input_table_udt values(9,'11,11');

Normalized input data

DROP TABLE input_table_udt_normalize;
CREATE TABLE input_table_udt_normalize(id int, array_col vector);
INSERT INTO input_table_udt_normalize values(1,'0.707106781186547,0.707106781186547');
INSERT INTO input_table_udt_normalize values(2,'0.707106781186547,0.707106781186547');
INSERT INTO input_table_udt_normalize values(3,'0.707106781186547,0.707106781186547');
INSERT INTO input_table_udt_normalize values(4,'0.707106781186548,0.707106781186548');
INSERT INTO input_table_udt_normalize values(5,'0.707106781186547,0.707106781186547');
INSERT INTO input_table_udt_normalize values(6,'0.71068699955556,0.703508342994392');
INSERT INTO input_table_udt_normalize values(7,'0.453512202347188,0.89125006722143');
INSERT INTO input_table_udt_normalize values(8,'0.707106781186547,0.707106781186547');
INSERT INTO input_table_udt_normalize values(9,'0.707106781186548,0.707106781186548');

Query (cosine distance measure with normalized vectors as 'false')

SELECT td_clusterid_kmeans, cast(array_col as varchar(80)) AS aiVector_col, td_size_kmeans, td_withinss_kmeans, id, td_modelinfo_kmeans FROM TD_KMeans (
ON input_table_udt AS InputTable
USING
IdColumn('id')
TargetColumns('array_col')
NumClusters(2)
Seed(0)
StopThreshold(0.00395)
MaxIterNum(3)
EmbeddingSize(2)
DistanceMeasure('cosine')
NormalizedVectors('false')

Output

td_cluster_kmeans aiVector_col td_size_kmeans td_withinss_kmeans id td_modelinfo_kmeans
0 0.453512202347188,0.89125006722143 1 0.00000000000000E 000 NULL NULL
1 0.707555305511978,0.706657972177383 8 2.25458808671419E-005 NULL NULL
NULL NULL NULL NULL NULL Converged : True
NULL NULL NULL NULL NULL Number of Iterations : 3
NULL NULL NULL NULL NULL Number of Clusters : 2
NULL NULL NULL NULL NULL Total_WithinSS : 2.25458808671419E-05
NULL NULL NULL NULL NULL Between_SS : 8.76552353940860E-02
NULL NULL NULL NULL NULL Method for InitialCentroids: Random

Query (cosine distance measure with normalized vectors as 'true')

SELECT td_clusterid_kmeans, cast(array_col as varchar(80)) AS aiVector_col, td_size_kmeans, td_withinss_kmeans, id, td_modelinfo_kmeans FROM TD_KMeans (
ON input_table_udt_normalize AS InputTable
USING
IdColumn('id')
TargetColumns('array_col')
NumClusters(2)
Seed(0)
StopThreshold(0.00395)
MaxIterNum(3)
EmbeddingSize(2)
DistanceMeasure('cosine')
NormalizedVectors('true')
)as dt;

Output

td_cluster_kmeans aiVector_col td_size_kmeans td_withinss_kmeans id td_modelinfo_kmeans
0 0.453512202347188,0.89125006722143 1 0.00000000000000E 000 NULL NULL
1 0.707555305511978,0.706657972177383 8 2.25458808671419E-005 NULL NULL
NULL NULL NULL NULL NULL Converged : True
NULL NULL NULL NULL NULL Number of Iterations : 3
NULL NULL NULL NULL NULL Number of Clusters : 2
NULL NULL NULL NULL NULL Total_WithinSS : 2.25458808671419E-05
NULL NULL NULL NULL NULL Between_SS : 8.76552353940860E-02
NULL NULL NULL NULL NULL Method for InitialCentroids: Random