'LAD updates terminal regions to median estimates.'

def _update_terminal_region(self, tree, terminal_regions, leaf, X, y, residual, pred, sample_weight):

    terminal_region = np.where((terminal_regions == leaf))[0]
    sample_weight = sample_weight.take(terminal_region, axis=0)
    diff = (y.take(terminal_region, axis=0) - pred.take(terminal_region, axis=0))
    tree.value[(leaf, 0, 0)] = _weighted_percentile(diff, sample_weight, percentile=50)
