code: def d2_absolute_error_score(
      y_true,
      y_pred,
      *,
      sample_weight=None,
      multioutput="uniform_average",
  ):
      """
      :math:`D^2` regression score function, fraction of absolute error explained.
  
      Best possible score is 1.0 and it can be negative (because the model can be
      arbitrarily worse). A model that always uses the empirical median of `y_true`
      as constant prediction, disregarding the input features,
      gets a :math:`D^2` score of 0.0.
  
      Read more in the :ref:`User Guide <d2_score>`.
  
      .. versionadded:: 1.1
  
      Parameters
      ----------
      y_true : array-like of shape (n_samples,) or (n_samples, n_outputs)
          Ground truth (correct) target values.
  
      y_pred : array-like of shape (n_samples,) or (n_samples, n_outputs)
          Estimated target values.
  
      sample_weight : array-like of shape (n_samples,), default=None
          Sample weights.
  
      multioutput : {'raw_values', 'uniform_average'} or array-like of shape \
              (n_outputs,), default='uniform_average'
          Defines aggregating of multiple output values.
          Array-like value defines weights used to average scores.
  
          'raw_values' :
              Returns a full set of errors in case of multioutput input.
  
          'uniform_average' :
              Scores of all outputs are averaged with uniform weight.
  
      Returns
      -------
      score : float or ndarray of floats
          The :math:`D^2` score with an absolute error deviance
          or ndarray of scores if 'multioutput' is 'raw_values'.
  
      Notes
      -----
      Like :math:`R^2`, :math:`D^2` score may be negative
      (it need not actually be the square of a quantity D).
  
      This metric is not well-defined for single samples and will return a NaN
      value if n_samples is less than two.
  
       References
      ----------
      .. [1] Eq. (3.11) of Hastie, Trevor J., Robert Tibshirani and Martin J.
             Wainwright. "Statistical Learning with Sparsity: The Lasso and
             Generalizations." (2015). https://hastie.su.domains/StatLearnSparsity/
  
      Examples
      --------
      >>> from sklearn.metrics import d2_absolute_error_score
      >>> y_true = [3, -0.5, 2, 7]
      >>> y_pred = [2.5, 0.0, 2, 8]
      >>> d2_absolute_error_score(y_true, y_pred)
      0.764...
      >>> y_true = [[0.5, 1], [-1, 1], [7, -6]]
      >>> y_pred = [[0, 2], [-1, 2], [8, -5]]
      >>> d2_absolute_error_score(y_true, y_pred, multioutput='uniform_average')
      0.691...
      >>> d2_absolute_error_score(y_true, y_pred, multioutput='raw_values')
      array([0.8125    , 0.57142857])
      >>> y_true = [1, 2, 3]
      >>> y_pred = [1, 2, 3]
      >>> d2_absolute_error_score(y_true, y_pred)
      1.0
      >>> y_true = [1, 2, 3]
      >>> y_pred = [2, 2, 2]
      >>> d2_absolute_error_score(y_true, y_pred)
      0.0
      >>> y_true = [1, 2, 3]
      >>> y_pred = [3, 2, 1]
      >>> d2_absolute_error_score(y_true, y_pred)
      -1.0
      """
      return d2_pinball_score(
          y_true,
          y_pred,
          sample_weight=sample_weight,
          alpha=0.5,
          multioutput=multioutput,
      )
  
imports: import warnings
  from numbers import Real
  import numpy
  from scipy.special import xlogy
  from ..exceptions import UndefinedMetricWarning
  from ..utils._param_validation import Interval, StrOptions, validate_params
  from ..utils.stats import _weighted_percentile
  from ..utils.validation import _check_sample_weight, _num_samples, check_array, check_consistent_length, column_or_1d
label_desc: Use image node_id 18 for calling a global function with example usage: d2_absolute_error_score(y_true, y_pred) and returns: d2_pinball_score