sklearn.mixture
.VBGMM¶

class
sklearn.mixture.
VBGMM
(n_components=1, covariance_type='diag', alpha=1.0, random_state=None, thresh=None, tol=0.001, verbose=False, min_covar=None, n_iter=10, params='wmc', init_params='wmc')[source]¶ Variational Inference for the Gaussian Mixture Model
Variational inference for a Gaussian mixture model probability distribution. This class allows for easy and efficient inference of an approximate posterior distribution over the parameters of a Gaussian mixture model with a fixed number of components.
Initialization is with normallydistributed means and identity covariance, for proper convergence.
Parameters: n_components: int, default 1 :
Number of mixture components.
covariance_type: string, default ‘diag’ :
String describing the type of covariance parameters to use. Must be one of ‘spherical’, ‘tied’, ‘diag’, ‘full’.
alpha: float, default 1 :
Real number representing the concentration parameter of the dirichlet distribution. Intuitively, the higher the value of alpha the more likely the variational mixture of Gaussians model will use all components it can.
tol : float, default 1e3
Convergence threshold.
n_iter : int, default 10
Maximum number of iterations to perform before convergence.
params : string, default ‘wmc’
Controls which parameters are updated in the training process. Can contain any combination of ‘w’ for weights, ‘m’ for means, and ‘c’ for covars.
init_params : string, default ‘wmc’
Controls which parameters are updated in the initialization process. Can contain any combination of ‘w’ for weights, ‘m’ for means, and ‘c’ for covars. Defaults to ‘wmc’.
verbose : boolean, default False
Controls output verbosity.
Attributes: covariance_type : string
String describing the type of covariance parameters used by the DPGMM. Must be one of ‘spherical’, ‘tied’, ‘diag’, ‘full’.
n_features : int
Dimensionality of the Gaussians.
n_components : int (readonly)
Number of mixture components.
weights_ : array, shape (n_components,)
Mixing weights for each mixture component.
means_ : array, shape (n_components, n_features)
Mean parameters for each mixture component.
precs_ : array
Precision (inverse covariance) parameters for each mixture component. The shape depends on covariance_type:
(`n_components`, 'n_features') if 'spherical', (`n_features`, `n_features`) if 'tied', (`n_components`, `n_features`) if 'diag', (`n_components`, `n_features`, `n_features`) if 'full'
converged_ : bool
True when convergence was reached in fit(), False otherwise.
See also
Methods

__init__
(n_components=1, covariance_type='diag', alpha=1.0, random_state=None, thresh=None, tol=0.001, verbose=False, min_covar=None, n_iter=10, params='wmc', init_params='wmc')[source]¶

aic
(X)[source]¶ Akaike information criterion for the current model fit and the proposed data
Parameters: X : array of shape(n_samples, n_dimensions) Returns: aic: float (the lower the better) :

bic
(X)[source]¶ Bayesian information criterion for the current model fit and the proposed data
Parameters: X : array of shape(n_samples, n_dimensions) Returns: bic: float (the lower the better) :

fit
(X, y=None)[source]¶ Estimate model parameters with the variational algorithm.
For a full derivation and description of the algorithm see doc/modules/dpderivation.rst or http://scikitlearn.org/stable/modules/dpderivation.html
A initialization step is performed before entering the em algorithm. If you want to avoid this step, set the keyword argument init_params to the empty string ‘’ when when creating the object. Likewise, if you would like just to do an initialization, set n_iter=0.
Parameters: X : array_like, shape (n, n_features)
List of n_featuresdimensional data points. Each row corresponds to a single data point.

get_params
(deep=True)[source]¶ Get parameters for this estimator.
Parameters: deep: boolean, optional :
If True, will return the parameters for this estimator and contained subobjects that are estimators.
Returns: params : mapping of string to any
Parameter names mapped to their values.

predict
(X)[source]¶ Predict label for data.
Parameters: X : arraylike, shape = [n_samples, n_features] Returns: C : array, shape = (n_samples,)

predict_proba
(X)[source]¶ Predict posterior probability of data under each Gaussian in the model.
Parameters: X : arraylike, shape = [n_samples, n_features]
Returns: responsibilities : arraylike, shape = (n_samples, n_components)
Returns the probability of the sample for each Gaussian (state) in the model.

sample
(n_samples=1, random_state=None)[source]¶ Generate random samples from the model.
Parameters: n_samples : int, optional
Number of samples to generate. Defaults to 1.
Returns: X : array_like, shape (n_samples, n_features)
List of samples

score
(X, y=None)[source]¶ Compute the log probability under the model.
Parameters: X : array_like, shape (n_samples, n_features)
List of n_featuresdimensional data points. Each row corresponds to a single data point.
Returns: logprob : array_like, shape (n_samples,)
Log probabilities of each data point in X

score_samples
(X)[source]¶ Return the likelihood of the data under the model.
Compute the bound on log probability of X under the model and return the posterior distribution (responsibilities) of each mixture component for each element of X.
This is done by computing the parameters for the meanfield of z for each observation.
Parameters: X : array_like, shape (n_samples, n_features)
List of n_featuresdimensional data points. Each row corresponds to a single data point.
Returns: logprob : array_like, shape (n_samples,)
Log probabilities of each data point in X
responsibilities: array_like, shape (n_samples, n_components) :
Posterior probabilities of each mixture component for each observation

set_params
(**params)[source]¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.Returns: self :
