class_docstr: Base class for mixture models.
  
  This abstract class specifies an interface for all mixture classes and
  provides basic common methods for mixture models.
docstr: Estimate model parameters with the EM algorithm.
  
  The method fits the model ``n_init`` times and sets the parameters with
  which the model has the largest likelihood or lower bound. Within each
  trial, the method iterates between E-step and M-step for ``max_iter``
  times until the change of likelihood or lower bound is less than
  ``tol``, otherwise, a ``ConvergenceWarning`` is raised.
  If ``warm_start`` is ``True``, then ``n_init`` is ignored and a single
  initialization is performed upon the first call. Upon consecutive
  calls, training starts where it left off.
  
  Parameters
  ----------
  X : array-like of shape (n_samples, n_features)
      List of n_features-dimensional data points. Each row
      corresponds to a single data point.
  
  y : Ignored
      Not used, present for API consistency by convention.
  
  Returns
  -------
  self : object
      The fitted mixture.
code: def fit(self, X, y=None):
      """Estimate model parameters with the EM algorithm.
  
      The method fits the model ``n_init`` times and sets the parameters with
      which the model has the largest likelihood or lower bound. Within each
      trial, the method iterates between E-step and M-step for ``max_iter``
      times until the change of likelihood or lower bound is less than
      ``tol``, otherwise, a ``ConvergenceWarning`` is raised.
      If ``warm_start`` is ``True``, then ``n_init`` is ignored and a single
      initialization is performed upon the first call. Upon consecutive
      calls, training starts where it left off.
  
      Parameters
      ----------
      X : array-like of shape (n_samples, n_features)
          List of n_features-dimensional data points. Each row
          corresponds to a single data point.
  
      y : Ignored
          Not used, present for API consistency by convention.
  
      Returns
      -------
      self : object
          The fitted mixture.
      """
      # parameters are validated in fit_predict
      self.fit_predict(X, y)
      return self
  
imports: import warnings
  from abc import ABCMeta, abstractmethod
  from numbers import Integral, Real
  from time import time
  import numpy
  from scipy.special import logsumexp
  from ..None import cluster
  from ..base import BaseEstimator, DensityMixin, _fit_context
  from ..cluster import kmeans_plusplus
  from ..exceptions import ConvergenceWarning
  from ..utils import check_random_state
  from ..utils._param_validation import Interval, StrOptions
  from ..utils.validation import check_is_fitted
label_desc: Use image node_id 5 for calling the BaseMixture obj's underlying member method code with example usage: obj.fit(X, y) and returns: self