class_docstr: The `BayesianGaussianMixtureNB` estimator is a naive bayes classifier that uses a bayesian mixture of gaussians
  instead of merely a single one. In particular it trains a `BayesianGaussianMixture` model for each class in the
  target and for each feature in the data, on the subset of `X` where `y == class`.
  
  You can pass any keyword parameter that scikit-learn's
  [`BayesianGaussianMixture`](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.BayesianGaussianMixture.html)
  model uses and it will be passed along to each of the models.
  
  Attributes
  ----------
  gmms_ : dict[int, List[BayesianGaussianMixture]]
      A dictionary of Gaussian Mixture Models, one for each class.
  classes_ : np.ndarray of shape (n_classes,)
      The classes seen during `fit`.
  n_features_in_ : int
      The number of features seen during `fit`.
  num_fit_cols_ : int
      Deprecated, please use `n_features_in_` instead.
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
  
imports: from warnings import warn
  import numpy
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.mixture import BayesianGaussianMixture, GaussianMixture
  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 BayesianGaussianMixtureNB object from inherited base classes: BaseEstimator, ClassifierMixin with example: obj = BayesianGaussianMixtureNB(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)