'Update reporter with new iteration.'

def update(self, j, est):

    do_oob = (est.subsample < 1)
    i = (j - self.begin_at_stage)
    if (((i + 1) % self.verbose_mod) == 0):
        oob_impr = (est.oob_improvement_[j] if do_oob else 0)
        remaining_time = (((est.n_estimators - (j + 1)) * (time() - self.start_time)) / float((i + 1)))
        if (remaining_time > 60):
            remaining_time = '{0:.2f}m'.format((remaining_time / 60.0))
        else:
            remaining_time = '{0:.2f}s'.format(remaining_time)
        print(self.verbose_fmt.format(iter=(j + 1), train_score=est.train_score_[j], oob_impr=oob_impr, remaining_time=remaining_time))
        if ((self.verbose == 1) and (((i + 1) // (self.verbose_mod * 10)) > 0)):
            self.verbose_mod *= 10
