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.
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_"), ... )
The number of clusters to create
The maximum number of iterations to use.
Param for the convergence tolerance for iterative algorithms.
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.
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.
A character string used to uniquely identify the ML estimator.
Optional arguments, see Details.
The object returned depends on the class of
x is a
spark_connection, the function returns an instance of a
ml_estimator object. The object contains a pointer to
Estimator object and can be used to compose
x is a
ml_pipeline, the function returns a
the clustering estimator appended to the pipeline.
x is a
tbl_spark, an estimator is constructed then
immediately fit with the input
tbl_spark, returning a clustering model.
features specified: When
is specified, the input
tbl_spark is first transformed using a
RFormula transformer before being fit by
the estimator. The object returned in this case is a
ml_model which is a
wrapper of a
ml_pipeline_model. This signature does not apply to
See http://spark.apache.org/docs/latest/ml-clustering.html for more information on the set of clustering algorithms.