: preferably and ArrayBuffer or ParArray of Clusterizable
: number of clusters
: minimal threshold under which we consider a centroid has converged
: maximal number of iteration
: a defined dissimilarity measure, it can be custom by overriding ContinuousDistance distance function
Check if centers move enough
Check if centers move enough
true if every centers move less than epsilon
Kmeans++ initialization
Kmeans++ initialization
Compute the similarity matrix and extract point which is the closest from all other point according to its dissimilarity measure
Compute the similarity matrix and extract point which is the closest from all other point according to its dissimilarity measure
Check if there are empty centers and remove them
Check if there are empty centers and remove them
Reinitialization of cardinalities
Reinitialization of cardinalities
Run the K-Means
Run the K-Means
Update Center and Cardinalities
Update Center and Cardinalities
The famous K-Means using a user-defined dissmilarity measure.