public class GaussianMixtureModel extends Model<GaussianMixtureModel> implements MLWritable
Multivariate Gaussian Mixture Model (GMM) consisting of k Gaussians, where points are drawn from each Gaussian i with probability weights(i).
param: weights Weight for each Gaussian distribution in the mixture.
This is a multinomial probability distribution over the k Gaussians,
where weights(i) is the weight for Gaussian i, and weights sum to 1.
param: gaussians Array of MultivariateGaussian
where gaussians(i) represents
the Multivariate Gaussian (Normal) Distribution for Gaussian i
Modifier and Type | Method and Description |
---|---|
static Params |
clear(Param<?> param) |
GaussianMixtureModel |
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() |
MultivariateGaussian[] |
gaussians() |
Dataset<Row> |
gaussiansDF()
Retrieve Gaussian distributions as a DataFrame.
|
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 |
hasParent() |
boolean |
hasSummary()
Return true if there exists summary of model.
|
static boolean |
isDefined(Param<?> param) |
static boolean |
isSet(Param<?> param) |
static IntParam |
k() |
IntParam |
k()
Number of independent Gaussians in the mixture model.
|
static GaussianMixtureModel |
load(String path) |
static IntParam |
maxIter() |
static Param<?>[] |
params() |
static void |
parent_$eq(Estimator<M> x$1) |
static Estimator<M> |
parent() |
static Param<String> |
predictionCol() |
static Param<String> |
probabilityCol() |
static MLReader<GaussianMixtureModel> |
read() |
static void |
save(String path) |
static LongParam |
seed() |
static <T> Params |
set(Param<T> param,
T value) |
static M |
setParent(Estimator<M> parent) |
GaussianMixtureSummary |
summary()
Gets summary of model on training set.
|
static DoubleParam |
tol() |
static String |
toString() |
Dataset<Row> |
transform(Dataset<?> dataset)
Transforms the input dataset.
|
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 void |
validateParams() |
double[] |
weights() |
MLWriter |
write()
Returns a
MLWriter instance for this ML instance. |
transform, transform, transform
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, paramMap, params, set, set, set, setDefault, setDefault, shouldOwn, validateParams
toString
save
public static MLReader<GaussianMixtureModel> read()
public static GaussianMixtureModel load(String path)
public static String toString()
public static Param<?>[] params()
public static void validateParams()
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 Estimator<M> parent()
public static void parent_$eq(Estimator<M> x$1)
public static M setParent(Estimator<M> parent)
public static boolean hasParent()
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.IOException
public String uid()
Identifiable
uid
in interface Identifiable
public double[] weights()
public MultivariateGaussian[] gaussians()
public GaussianMixtureModel copy(ParamMap extra)
Params
defaultCopy()
.copy
in interface Params
copy
in class Model<GaussianMixtureModel>
extra
- (undocumented)public Dataset<Row> transform(Dataset<?> dataset)
Transformer
transform
in class Transformer
dataset
- (undocumented)public StructType transformSchema(StructType schema)
PipelineStage
Check transform validity and derive the output schema from the input schema.
Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.
transformSchema
in class PipelineStage
schema
- (undocumented)public Dataset<Row> gaussiansDF()
root
|-- mean: vector (nullable = true)
|-- cov: matrix (nullable = true)
public MLWriter write()
MLWriter
instance for this ML instance.
For GaussianMixtureModel
, this does NOT currently save the training summary
.
An option to save summary
may be added in the future.
write
in interface MLWritable
public boolean hasSummary()
public GaussianMixtureSummary summary()
trainingSummary == None
.public IntParam k()
public int getK()
public StructType validateAndTransformSchema(StructType schema)
schema
- input schema