public class GaussianMixture extends Estimator<GaussianMixtureModel> implements GaussianMixtureParams, 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 |
---|---|
IntParam |
aggregationDepth()
Param for suggested depth for treeAggregate (>= 2).
|
GaussianMixture |
copy(ParamMap extra)
Creates a copy of this instance with the same UID and some extra params.
|
Param<String> |
featuresCol()
Param for features column name.
|
GaussianMixtureModel |
fit(Dataset<?> dataset)
Fits a model to the input data.
|
IntParam |
k()
Number of independent Gaussians in the mixture model.
|
static GaussianMixture |
load(String path) |
IntParam |
maxIter()
Param for maximum number of iterations (>= 0).
|
Param<String> |
predictionCol()
Param for prediction column name.
|
Param<String> |
probabilityCol()
Param for Column name for predicted class conditional probabilities.
|
static MLReader<T> |
read() |
LongParam |
seed()
Param for random seed.
|
GaussianMixture |
setAggregationDepth(int 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) |
GaussianMixture |
setWeightCol(String value) |
DoubleParam |
tol()
Param for the convergence tolerance for iterative algorithms (>= 0).
|
StructType |
transformSchema(StructType schema)
Check transform validity and derive the output schema from the input schema.
|
String |
uid()
An immutable unique ID for the object and its derivatives.
|
Param<String> |
weightCol()
Param for weight column name.
|
params
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getK, validateAndTransformSchema
getMaxIter
getFeaturesCol
getPredictionCol
getWeightCol
getProbabilityCol
getAggregationDepth
clear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, onParamChange, paramMap, params, set, set, set, setDefault, setDefault, shouldOwn
toString
write
save
$init$, initializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, initLock, isTraceEnabled, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning, org$apache$spark$internal$Logging$$log__$eq, org$apache$spark$internal$Logging$$log_, uninitialize
public GaussianMixture(String uid)
public GaussianMixture()
public static GaussianMixture load(String path)
public static MLReader<T> read()
public final IntParam k()
GaussianMixtureParams
k
in interface GaussianMixtureParams
public final IntParam aggregationDepth()
HasAggregationDepth
aggregationDepth
in interface HasAggregationDepth
public final DoubleParam tol()
HasTol
public final Param<String> probabilityCol()
HasProbabilityCol
probabilityCol
in interface HasProbabilityCol
public final Param<String> weightCol()
HasWeightCol
weightCol
in interface HasWeightCol
public final Param<String> predictionCol()
HasPredictionCol
predictionCol
in interface HasPredictionCol
public final LongParam seed()
HasSeed
public final Param<String> featuresCol()
HasFeaturesCol
featuresCol
in interface HasFeaturesCol
public final IntParam maxIter()
HasMaxIter
maxIter
in interface HasMaxIter
public String uid()
Identifiable
uid
in interface Identifiable
public GaussianMixture copy(ParamMap extra)
Params
defaultCopy()
.copy
in interface Params
copy
in class Estimator<GaussianMixtureModel>
extra
- (undocumented)public GaussianMixture setFeaturesCol(String value)
public GaussianMixture setPredictionCol(String value)
public GaussianMixture setProbabilityCol(String value)
public GaussianMixture setWeightCol(String value)
public GaussianMixture setK(int value)
public GaussianMixture setMaxIter(int value)
public GaussianMixture setTol(double value)
public GaussianMixture setSeed(long value)
public GaussianMixture setAggregationDepth(int value)
public GaussianMixtureModel fit(Dataset<?> dataset)
Estimator
fit
in class Estimator<GaussianMixtureModel>
dataset
- (undocumented)public StructType transformSchema(StructType schema)
PipelineStage
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 PipelineStage
schema
- (undocumented)