class_docstr: Hidden Markov Model with Poisson emissions.
  
  Attributes
  ----------
  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.
  
  lambdas_ : array, shape (n_components, n_features)
      The expectation value of the waiting time parameters for each
      feature in a given state.
class_docstr_tok: ["Hidden","Markov","Model","with","Poisson","emissions",".","Attributes","--","--","--","--","--","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",".","lambdas_",":","array",",","shape","(","n_components",",","n_features",")","The","expectation","value","of","the","waiting","time","parameters","for","each","feature","in","a","given","state","."]
code: def _check(self):
      super()._check()
  
      self.lambdas_ = np.atleast_2d(self.lambdas_)
      n_features = getattr(self, "n_features", self.lambdas_.shape[1])
      if self.lambdas_.shape != (self.n_components, n_features):
          raise ValueError(
              "lambdas_ must have shape (n_components, n_features)"
          )
      self.n_features = n_features
  
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 3 for calling the PoissonHMM obj's underlying member method code with example usage: obj._check() without return types