code: def update_terminal_regions(self, tree, X, y, residual, y_pred,
                                  sample_weight, sample_mask,
                                  learning_rate=1.0, k=0):
          
          # update predictions
          y_pred[:, k] += learning_rate * tree.predict(X).ravel()
docs: Least squares does not need to update terminal regions.
  
          But it has to update the predictions.