(1);classCentroid{ privatedoublemCx,mCy; privateClustermCluster; entroid(doublecx,doublecy){ =cx; =cy; } entroid(){//onlycalledbyCAInstance intnumDP=(); doubletempX=0,tempY=0; inti; //caluclatingthenewCentroid for(i=0;i<numDP;i++){ tempX=tempX+(i).getX(); //totalforx tempY=tempY+(i).getY(); //totalfory } =tempX/numDP; =tempY/numDP; //calculatingthenewEuclideanDistanceforeachDataPoint tempX=0; tempY=0; for(i=0;i<numDP;i++){ (i).calcEuclideanDistance(); } //calculatethenewSumofSquaresfortheCluster (); } publicvoidsetCluster(Clusterc){ =c; } publicdoublegetCx(){ returnmCx; } publicdoublegetCy(){ returnmCy; } lustergetCluster(){ returnmCluster; }2); classCluster{ privateStringmName; privateCentroidmCentroid; privatedoublemSumSqr; privateVectormDataPoints; luster(Stringname){ =name; =null;//willbesetbycallingsetCentroid() mDataPoints=newVector(); } publicvoidsetCentroid(Centroidc){ mCentroid=c; } entroidgetCentroid(){
kmeans算法Java实现 来自淘豆网m.daumloan.com转载请标明出处.