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 = 2,
max_iter = 20,
tol = 1e-04,
init_steps = 2,
init_mode = "k-means||",
seed = NULL,
features_col = "features",
prediction_col = "prediction",
uid = random_string("kmeans_"),
...
)ml_compute_cost(model, dataset)
ml_compute_silhouette_measure(
model,
dataset,
distance_measure = c("squaredEuclidean", "cosine")
)
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.
ml_compute_silhouette_measure()
returns the Silhouette measure
of the clustering on the given data.
A spark_connection
, ml_pipeline
, or a tbl_spark
.
Used when x
is a tbl_spark
. R formula as a character string or a formula. This is used to transform the input dataframe before fitting, see ft_r_formula for details.
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 ft_r_formula
.
Prediction column name.
A character string used to uniquely identify the ML estimator.
Optional arguments, see Details.
#' @return The object returned depends on the class of x
. If it is a
spark_connection
, the function returns a ml_estimator
object. If
it is a ml_pipeline
, it will return a pipeline with the predictor
appended to it. If a tbl_spark
, it will return a tbl_spark
with
the predictions added to it.
A fitted K-means model returned by ml_kmeans()
Dataset on which to calculate K-means cost
Distance measure to apply when computing the Silhouette measure.
if (FALSE) {
sc <- spark_connect(master = "local")
iris_tbl <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE)
ml_kmeans(iris_tbl, Species ~ .)
}
Run the code above in your browser using DataLab