public class GaussianMixture extends Estimator<GaussianMixtureModel> implements DefaultParamsWritable
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 convergenceTol, 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.
| Constructor and Description | 
|---|
| GaussianMixture() | 
| GaussianMixture(String uid) | 
| Modifier and Type | Method and Description | 
|---|---|
| static Params | clear(Param<?> param) | 
| GaussianMixture | copy(ParamMap extra)Creates a copy of this instance with the same UID and some extra params. | 
| static String | explainParam(Param<?> param) | 
| static String | explainParams() | 
| static ParamMap | extractParamMap() | 
| static ParamMap | extractParamMap(ParamMap extra) | 
| static Param<String> | featuresCol() | 
| GaussianMixtureModel | fit(Dataset<?> dataset)Fits a model to the input data. | 
| static <T> scala.Option<T> | get(Param<T> param) | 
| static <T> scala.Option<T> | getDefault(Param<T> param) | 
| static String | getFeaturesCol() | 
| static int | getK() | 
| int | getK() | 
| static int | getMaxIter() | 
| static <T> T | getOrDefault(Param<T> param) | 
| static Param<Object> | getParam(String paramName) | 
| static String | getPredictionCol() | 
| static String | getProbabilityCol() | 
| static long | getSeed() | 
| static double | getTol() | 
| static <T> boolean | hasDefault(Param<T> param) | 
| static boolean | hasParam(String paramName) | 
| static boolean | isDefined(Param<?> param) | 
| static boolean | isSet(Param<?> param) | 
| static IntParam | k() | 
| IntParam | k()Number of independent Gaussians in the mixture model. | 
| static GaussianMixture | load(String path) | 
| static IntParam | maxIter() | 
| static Param<?>[] | params() | 
| static Param<String> | predictionCol() | 
| static Param<String> | probabilityCol() | 
| static void | save(String path) | 
| static LongParam | seed() | 
| static <T> Params | set(Param<T> param,
   T value) | 
| GaussianMixture | setFeaturesCol(String value) | 
| GaussianMixture | setK(int value) | 
| GaussianMixture | setMaxIter(int value) | 
| GaussianMixture | setPredictionCol(String value) | 
| GaussianMixture | setProbabilityCol(String value) | 
| GaussianMixture | setSeed(long value) | 
| GaussianMixture | setTol(double value) | 
| static DoubleParam | tol() | 
| static String | toString() | 
| StructType | transformSchema(StructType schema):: DeveloperApi :: | 
| String | uid()An immutable unique ID for the object and its derivatives. | 
| StructType | validateAndTransformSchema(StructType schema)Validates and transforms the input schema. | 
| static MLWriter | write() | 
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetMaxIter, maxIterfeaturesCol, getFeaturesColgetPredictionCol, predictionColgetProbabilityCol, probabilityColclear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, paramMap, params, set, set, set, setDefault, setDefault, shouldOwntoStringwritesaveinitializeLogging, initializeLogIfNecessary, initializeLogIfNecessary, isTraceEnabled, log_, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarningpublic GaussianMixture(String uid)
public GaussianMixture()
public static GaussianMixture load(String path)
public static String toString()
public static Param<?>[] params()
public static String explainParam(Param<?> param)
public static String explainParams()
public static final boolean isSet(Param<?> param)
public static final boolean isDefined(Param<?> param)
public static boolean hasParam(String paramName)
public static Param<Object> getParam(String paramName)
public static final <T> scala.Option<T> get(Param<T> param)
public static final <T> T getOrDefault(Param<T> param)
public static final <T> scala.Option<T> getDefault(Param<T> param)
public static final <T> boolean hasDefault(Param<T> param)
public static final ParamMap extractParamMap()
public static final IntParam maxIter()
public static final int getMaxIter()
public static final Param<String> featuresCol()
public static final String getFeaturesCol()
public static final LongParam seed()
public static final long getSeed()
public static final Param<String> predictionCol()
public static final String getPredictionCol()
public static final Param<String> probabilityCol()
public static final String getProbabilityCol()
public static final DoubleParam tol()
public static final double getTol()
public static final IntParam k()
public static int getK()
public static void save(String path)
                 throws java.io.IOException
java.io.IOExceptionpublic static MLWriter write()
public String uid()
Identifiableuid in interface Identifiablepublic GaussianMixture copy(ParamMap extra)
ParamsdefaultCopy().copy in interface Paramscopy in class Estimator<GaussianMixtureModel>extra - (undocumented)public GaussianMixture setFeaturesCol(String value)
public GaussianMixture setPredictionCol(String value)
public GaussianMixture setProbabilityCol(String value)
public GaussianMixture setK(int value)
public GaussianMixture setMaxIter(int value)
public GaussianMixture setTol(double value)
public GaussianMixture setSeed(long value)
public GaussianMixtureModel fit(Dataset<?> dataset)
Estimatorfit in class Estimator<GaussianMixtureModel>dataset - (undocumented)public StructType transformSchema(StructType schema)
PipelineStageCheck transform validity and derive the output schema from the input schema.
 We check validity for interactions between parameters during transformSchema and
 raise an exception if any parameter value is invalid. Parameter value checks which
 do not depend on other parameters are handled by Param.validate().
 
Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.
transformSchema in class PipelineStageschema - (undocumented)public IntParam k()
public int getK()
public StructType validateAndTransformSchema(StructType schema)
schema - input schema