Hi, >Hello. > >[Please try and set your mail client to send plain text messages.] > >Le mer. 26 févr. 2020 à 14:05, CT <chentao...@qq.com> a écrit : >> >> Hi Gilles, >> ------------------ Original ------------------ >> From: "GillesSadowski"<gillese...@gmail.com>; >> Date: Wed, Feb 26, 2020 05:41 PM >> To: "Commons Developers List"<dev@commons.apache.org>; >> >> Subject: Re: [math] Discuss: New feature MiniBatchKMeansClusterer >> >> >> > [...] >> >> Do you mean I should fire a JIRA issue about reuse "centroidOf" and >> "chooseInitialCenters", >> then start a PR and a disscuss about "ClusterUtils"? >> And then start the PR of "MiniBatchKMeansClusterer" after all done? > >I cannot guarantee that the whole process will be streamlined. >In effect, you can work on multiple branches (one for each >prospective PR). >I'd say that you should start by describing (here on the ML) the >rationale for "ClusterUtils" (and contrast it with say, a common >base class). >[Only when the design has been agreed on, a JIRA issue to >implement it should be created in order to track the actual >coding work).]
OK, I think we should start from here: The method "centroidOf" and "chooseInitialCenters" in KMeansPlusPlusClusterer could be reused by other KMeans Clusterer like MiniBatchKMeansClusterer which I want to implement. There are two solution for reuse "centroidOf" and "chooseInitialCenters": 1. Extract a abstract class for KMeans Clusterer named "AbstractKMeansClusterer", and move "centroidOf" and "chooseInitialCenters" as protected methods in it; the EmptyClusterStrategy and related logic can also move to the "AbstractKMeansClusterer". 2. Create a static utility class, and move "centroidOf" and "chooseInitialCenters" in it, and some useful clustering method like predict(Predict which cluster is best for a specified point) can put in it. > >Gilles > >> [...] > >--------------------------------------------------------------------- >To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >For additional commands, e-mail: dev-h...@commons.apache.org > >