class_docstr: Hidden Markov Model with Gaussian emissions.
  
  Attributes
  ----------
  n_features : int
      Dimensionality of the Gaussian emissions.
  
  monitor_ : ConvergenceMonitor
      Monitor object used to check the convergence of EM.
  
  startprob_ : array, shape (n_components, )
      Initial state occupation distribution.
  
  transmat_ : array, shape (n_components, n_components)
      Matrix of transition probabilities between states.
  
  means_ : array, shape (n_components, n_features)
      Mean parameters for each state.
  
  covars_ : array
      Covariance parameters for each state.
  
      The shape depends on :attr:`covariance_type`:
  
      * (n_components, )                        if "spherical",
      * (n_components, n_features)              if "diag",
      * (n_components, n_features, n_features)  if "full",
      * (n_features, n_features)                if "tied".
  
  Examples
  --------
  >>> from hmmlearn.hmm import GaussianHMM
  >>> GaussianHMM(n_components=2)  #doctest: +ELLIPSIS
  GaussianHMM(algorithm='viterbi',...
class_docstr_tok: ["Hidden","Markov","Model","with","Gaussian","emissions",".","Attributes","--","--","--","--","--","n_features",":","int","Dimensionality","of","the","Gaussian","emissions",".","monitor_",":","ConvergenceMonitor","Monitor","object","used","to","check","the","convergence","of","EM",".","startprob_",":","array",",","shape","(","n_components",",",")","Initial","state","occupation","distribution",".","transmat_",":","array",",","shape","(","n_components",",","n_components",")","Matrix","of","transition","probabilities","between","states",".","means_",":","array",",","shape","(","n_components",",","n_features",")","Mean","parameters","for","each","state",".","covars_",":","array","Covariance","parameters","for","each","state",".","The","shape","depends","on",":","attr",":","`","covariance_type","`",":","*","(","n_components",",",")","if","``","spherical","''",",","*","(","n_components",",","n_features",")","if","``","diag","''",",","*","(","n_components",",","n_features",",","n_features",")","if","``","full","''",",","*","(","n_features",",","n_features",")","if","``","tied","''",".","Examples","--","--","--","--",">",">",">","from","hmmlearn.hmm","import","GaussianHMM",">",">",">","GaussianHMM","(","n_components=2",")","#","doctest",":","+ELLIPSIS","GaussianHMM","(","algorithm='viterbi","'",",","..."]
code: def _check(self):
      super()._check()
  
      self.means_ = np.asarray(self.means_)
      self.n_features = self.means_.shape[1]
  
      if self.covariance_type not in COVARIANCE_TYPES:
          raise ValueError(
              f"covariance_type must be one of {COVARIANCE_TYPES}"
          )
  
imports: import logging
  import numpy
  from scipy import linalg
  from sklearn import cluster
  from sklearn.utils import check_random_state
  from .None import _emissions, _utils
  from .base import BaseHMM
  from .utils import fill_covars, normalize
label_desc: Use image node_id 5 for calling the GaussianHMM obj's underlying member method code with example usage: obj._check() without return types