Spark ML - K-Means Clustering
ml_kmeans
Description
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+.
Usage
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")
)Arguments
| Arguments | Description |
|---|---|
| x | A spark_connection, ml_pipeline, or a tbl_spark. |
| formula | 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. |
| k | The number of clusters to create |
| max_iter | The maximum number of iterations to use. |
| tol | Param for the convergence tolerance for iterative algorithms. |
| init_steps | Number of steps for the k-means |
| init_mode | Initialization algorithm. This can be either “random” to choose random points as initial cluster centers, or “k-means |
| seed | A random seed. Set this value if you need your results to be reproducible across repeated calls. |
| features_col | 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_col | Prediction column name. |
| uid | 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. |
| model | A fitted K-means model returned by ml_kmeans() |
| dataset | Dataset on which to calculate K-means cost |
| distance_measure | Distance measure to apply when computing the Silhouette measure. |
Value
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.
Examples
sc <- spark_connect(master = "local")
iris_tbl <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE)
ml_kmeans(iris_tbl, Species ~ .)