Skip to main content
. 2020 Sep 27;22(10):1088. doi: 10.3390/e22101088
Algorithm 1 Geometrical Divide (GD)
dataParticles: list of data particles
featureVectors: list of data particle’s feature vectors F=[f1, f2]
newDataParticles: list of data particles created by divide
Nmin: size of the smallest class
d: d+AND log2Nmin<d
FORi=2; id
  FOREACH PdataParticles DO
     μP   centroid(P)          // μ =[μ1, μ2]
     CP   geometricCentroid(P)   // C=[c1, c2]
dataParticle1 = List()           // create two empty lists dataParticle1
    dataParticle2 = List()          // and dataParticle2 for new data particles
    FOREACH FfeatureVectors DO
      IF (f2μ2)(c1μ1)(c2μ2)(f1μ1)>0 THEN
        dataParticle1   add(returnParticle(F))
      ELSE dataParticle2   add(returnParticle(F))
      END IF
    END FOREACH
    newDataParticles   add(dataParticle1)
newDataParticles   add(dataParticle2)
  END FOREACH
  dataParticles   newDataParticles
  newDataParticles   clear()
END FOR