class_docstr: The `BayesianGMMClassifier` trains a Gaussian Mixture Model for each class in `y` on a dataset `X`.
  Once a density is trained for each class we can evaluate the likelihood scores to see which class is more likely.
  
  !!! note
      All the parameters are an exact copy of those of
      [sklearn.mixture.BayesianGaussianMixture]( https://scikit-learn.org/stable/modules/generated/sklearn.mixture.BayesianGaussianMixture.html).
  
  
  Attributes
  ----------
  gmms_ : dict[int, BayesianGaussianMixture]
      A dictionary of Bayesian Gaussian Mixture Models, one for each class.
  classes_ : np.ndarray of shape (n_classes,)
      The classes seen during `fit`.
class_docstr_tok: ["The","`","BayesianGMMClassifier","`","trains","a","Gaussian","Mixture","Model","for","each","class","in","`","y","`","on","a","dataset","`","X","`",".","Once","a","density","is","trained","for","each","class","we","can","evaluate","the","likelihood","scores","to","see","which","class","is","more","likely",".","!","!","!","note","All","the","parameters","are","an","exact","copy","of","those","of","[","sklearn.mixture.BayesianGaussianMixture","]","(","https",":","\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.mixture.BayesianGaussianMixture.html",")",".","Attributes","--","--","--","--","--","gmms_",":","dict","[","int",",","BayesianGaussianMixture","]","A","dictionary","of","Bayesian","Gaussian","Mixture","Models",",","one","for","each","class",".","classes_",":","np.ndarray","of","shape","(","n_classes",",",")","The","classes","seen","during","`","fit","`","."]
code: def __init__(
      self,
      n_components=1,
      covariance_type="full",
      tol=0.001,
      reg_covar=1e-06,
      max_iter=100,
      n_init=1,
      init_params="kmeans",
      weight_concentration_prior_type="dirichlet_process",
      weight_concentration_prior=None,
      mean_precision_prior=None,
      mean_prior=None,
      degrees_of_freedom_prior=None,
      covariance_prior=None,
      random_state=None,
      warm_start=False,
      verbose=0,
      verbose_interval=10,
  ):
      self.n_components = n_components
      self.covariance_type = covariance_type
      self.tol = tol
      self.reg_covar = reg_covar
      self.max_iter = max_iter
      self.n_init = n_init
      self.init_params = init_params
      self.weight_concentration_prior_type = (
          weight_concentration_prior_type
      )
      self.weight_concentration_prior = weight_concentration_prior
      self.mean_precision_prior = mean_precision_prior
      self.mean_prior = mean_prior
      self.degrees_of_freedom_prior = degrees_of_freedom_prior
      self.covariance_prior = covariance_prior
      self.random_state = random_state
      self.warm_start = warm_start
      self.verbose = verbose
      self.verbose_interval = verbose_interval
  
file_path: scikit-lego/sklego/mixture/bayesian_gmm_classifier.py
imports: import numpy
  from scipy.special import softmax
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.mixture import BayesianGaussianMixture
  from sklearn.utils import check_X_y
  from sklearn.utils.multiclass import unique_labels
  from sklearn.utils.validation import FLOAT_DTYPES, check_array, check_is_fitted
label_desc: Use image node_id 1 to create a new BayesianGMMClassifier object from inherited base classes: BaseEstimator, ClassifierMixin with example: obj = BayesianGMMClassifier(n_components, covariance_type, tol, reg_covar, max_iter, n_init, init_params, weight_concentration_prior_type, weight_concentration_prior, mean_precision_prior, mean_prior, degrees_of_freedom_prior, covariance_prior, random_state, warm_start, verbose, verbose_interval)