def update_feature(self, feature):
        if self.debug:
            print('    time left: ', end='')
            sys.stdout.flush()
            num_points = self.train_points.shape[0]
            cutoff = 5e5
            next_point = 1e5
            step = 0
            start = time()
        for index, train_point in enumerate(self.train_points):
            if self.debug:
                if next_point <= index < num_points - cutoff:
                    stop = time()
                    step += 1
                    elapsed_secs = (stop - start)
                    elapsed_minutes = elapsed_secs / 60
                    elapsed_time = (elapsed_minutes if elapsed_minutes > 1
                                    else elapsed_secs)
                    label = 'min' if elapsed_time == elapsed_minutes else 'sec'
                    print('{:.2g}{} '
                          .format(elapsed_time * (num_points - index) / index,
                                  label), end='')
                    sys.stdout.flush()
                    next_point = num_points - num_points / 2 ** step
                    if num_points - cutoff >= next_point:
                        print()
            user, movie, _, rating = get_user_movie_time_rating(train_point)
            error = self.calculate_prediction_error(user, movie, rating)
            self.update_user_and_movie(user, movie, feature, error)
dataset/ETHPy150Open jvanbrug/netflix/algorithms/svd.py/SVD.update_feature/swapped operands of `>=`