d2_absolute_error_score#
- sklearn.metrics.d2_absolute_error_score(y_true,y_pred,*,sample_weight=None,multioutput='uniform_average')[source]#
\(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 bearbitrarily worse). A model that always uses the empirical median of
y_trueas constant prediction, disregarding the input features,gets a\(D^2\) score of 0.0.Read more in theUser Guide.
Added in version 1.1.
- Parameters:
- y_truearray-like of shape (n_samples,) or (n_samples, n_outputs)
Ground truth (correct) target values.
- y_predarray-like of shape (n_samples,) or (n_samples, n_outputs)
Estimated target values.
- sample_weightarray-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:
- scorefloat or ndarray of floats
The\(D^2\) score with an absolute error devianceor ndarray of scores if ‘multioutput’ is ‘raw_values’.
Notes
Like\(R^2\),\(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 NaNvalue 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 andGeneralizations.” (2015).https://hastie.su.domains/StatLearnSparsity/
Examples
>>>fromsklearn.metricsimportd2_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
