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 diD do
  ldiargminj1,,Kddi, cj;
end
chagnedfalse;
iter0;
repeat
  for each ciC do
    UpdateCluster(ci);
   end
   for each diD do
    minDistargminj1,,Kddi, cj;
    if minDistldi then
     ldiminDist;
     changedtrue;
    end
   end
   iteriter+1;
  until changed=true and iterM;
end