Spark ML - Gaussian Mixture clustering.
ml_gaussian_mixture
Description
This class performs expectation maximization for multivariate Gaussian Mixture Models (GMMs). A GMM represents a composite distribution of independent Gaussian distributions with associated “mixing” weights specifying each’s contribution to the composite. Given a set of sample points, this class will maximize the log-likelihood for a mixture of k Gaussians, iterating until the log-likelihood changes by less than tol
, or until it has reached the max number of iterations. While this process is generally guaranteed to converge, it is not guaranteed to find a global optimum.
Usage
ml_gaussian_mixture(
x,formula = NULL,
k = 2,
max_iter = 100,
tol = 0.01,
seed = NULL,
features_col = "features",
prediction_col = "prediction",
probability_col = "probability",
uid = random_string("gaussian_mixture_"),
... )
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. |
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. |
probability_col | Column name for predicted class conditional probabilities. Note: Not all models output well-calibrated probability estimates! These probabilities should be treated as confidences, not precise probabilities. |
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. |
Examples
<- spark_connect(master = "local")
sc <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE)
iris_tbl
<- ml_gaussian_mixture(iris_tbl, Species ~ .)
gmm_model <- sdf_predict(iris_tbl, gmm_model)
pred ml_clustering_evaluator(pred)