Spark ML -- K-Means Clustering
K-means clustering with support for k-means|| initialization proposed by Bahmani et al. Using `ml_kmeans()` with the formula interface requires Spark 2.0+.
ml_kmeans(x, formula = NULL, k = 2L, max_iter = 20L, tol = 1e-04, init_steps = 2L, init_mode = "k-means||", seed = NULL, features_col = "features", prediction_col = "prediction", uid = random_string("kmeans_"), ...) ml_compute_cost(model, dataset)
The number of clusters to create
The maximum number of iterations to use.
Param for the convergence tolerance for iterative algorithms.
Number of steps for the k-means|| initialization mode. This is an advanced setting -- the default of 2 is almost always enough. Must be > 0. Default: 2.
Initialization algorithm. This can be either "random" to choose random points as initial cluster centers, or "k-means||" to use a parallel variant of k-means++ (Bahmani et al., Scalable K-Means++, VLDB 2012). Default: k-means||.
A random seed. Set this value if you need your results to be reproducible across repeated calls.
Features column name, as a length-one character vector. The column should be single vector column of numeric values. Usually this column is output by
Prediction column name.
A character string used to uniquely identify the ML estimator.
Optional arguments; currently unused.
A fitted K-means model returned by
Dataset on which to calculate K-means cost
The object returned depends on the class of
spark_connection, the function returns an instance of a
ml_estimatorobject. The object contains a pointer to a Spark
Estimatorobject and can be used to compose
ml_pipeline, the function returns a
ml_pipelinewith the clustering estimator appended to the pipeline.
tbl_spark, an estimator is constructed then immediately fit with the input
tbl_spark, returning a clustering model.
formulais specified, the input
tbl_sparkis first transformed using a
RFormulatransformer before being fit by the estimator. The object returned in this case is a
ml_modelwhich is a wrapper of a
ml_pipeline_model. This signature does not apply to
ml_compute_cost() returns the K-means cost (sum of
squared distances of points to their nearest center) for the model
on the given data.
See http://spark.apache.org/docs/latest/ml-clustering.html for more information on the set of clustering algorithms.