server/src/main/resources/eclairjs/mllib/clustering/BisectingKMeans.js
function(jvmObject) {
         
         this.logger = Logger.getLogger("BisectingKMeans_js");
        if (!jvmObject) {
            jvmObject = new org.apache.spark.mllib.clustering.BisectingKMeans();
        }
         JavaWrapper.call(this, jvmObject);

    }
function(jvmObject) {
         
         this.logger = Logger.getLogger("BisectingKMeans_js");
        if (!jvmObject) {
            jvmObject = new org.apache.spark.mllib.clustering.BisectingKMeans();
        }
         JavaWrapper.call(this, jvmObject);

    }
function ( jvmObject ) { this . logger = Logger . getLogger ( "BisectingKMeans_js" ) ; if ( ! jvmObject ) { jvmObject = new org . apache . spark . mllib . clustering . BisectingKMeans ( ) ; } JavaWrapper . call ( this , jvmObject ) ; }
A bisecting k-means algorithm based on the paper "A comparison of document clustering techniques"
by Steinbach, Karypis, and Kumar, with modification to fit Spark.
The algorithm starts from a single cluster that contains all points.
Iteratively it finds divisible clusters on the bottom level and bisects each of them using
k-means, until there are `k` leaf clusters in total or no leaf clusters are divisible.
The bisecting steps of clusters on the same level are grouped together to increase parallelism.
If bisecting all divisible clusters on the bottom level would result more than `k` leaf clusters,
larger clusters get higher priority.

@param k the desired number of leaf clusters (default: 4). The actual number could be smaller if
there are no divisible leaf clusters.
@param maxIterations the max number of k-means iterations to split clusters (default: 20)
@param minDivisibleClusterSize the minimum number of points (if >= 1.0) or the minimum proportion
of points (if < 1.0) of a divisible cluster (default: 1)
@param seed a random seed (default: hash value of the class name)

@see [[http://glaros.dtc.umn.edu/gkhome/fetch/papers/docclusterKDDTMW00.pdf
Steinbach, Karypis, and Kumar, A comparison of document clustering techniques,
KDD Workshop on Text Mining, 2000.]]
@classdesc
 
Constructs with the default configuration
@class
@memberof module:eclairjs/mllib/clustering
A bisecting k - means algorithm based on the paper A comparison of document clustering techniques by Steinbach Karypis and Kumar with modification to fit Spark . The algorithm starts from a single cluster that contains all points . Iteratively it finds divisible clusters on the bottom level and bisects each of them using k - means until there are k leaf clusters in total or no leaf clusters are divisible . The bisecting steps of clusters on the same level are grouped together to increase parallelism . If bisecting all divisible clusters on the bottom level would result more than k leaf clusters larger clusters get higher priority .