Skip to main content
. 2021 Apr 16;21(8):2823. doi: 10.3390/s21082823
Algorithm 1 K-means Clustering Algorithm
Input:D=d1, d2, …, dn /* set of data to be clustered */
   K /* number of clusters */
   M /* limit of iterations */
Output:C=c1, c2, …, cK /* set of cluster centroids */
    L=ldi|i=1, …,n /* set of cluster labels of D */
begin
 C initialized by K-means++;
 for each di∈D do
  ldi←argminj∈1,…,Kddi, cj;
 end
 chagned←false;
 iter←0;
 repeat
  for each ci∈C do
    UpdateCluster(ci);
   end
   for each di∈D do
    minDist←argminj∈1,…,Kddi, cj;
    if minDist≠ldi then
     ldi←minDist;
     changed←true;
    end
   end
   iter←iter+1;
  until changed=true and iter≤M;
end