code: def report(self, logprob):
          
          if self.verbose:
              delta = logprob - self.history[-1] if self.history else np.nan
              message = self._template.format(
                  iter=self.iter + 1, logprob=logprob, delta=delta)
              print(message, file=sys.stderr)
  
          self.history.append(logprob)
          self.iter += 1
docs: Reports convergence to :data:`sys.stderr`.
  
          The output consists of three columns: iteration number, log
          probability of the data at the current iteration and convergence
          rate.  At the first iteration convergence rate is unknown and
          is thus denoted by NaN.
  
          Parameters
          ----------
          logprob : float
              The log probability of the data as computed by EM algorithm
              in the current iteration.