D2 绝对误差评分#

sklearn.metrics.d2_absolute_error_score(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')[source]#

\(D^2\) 回归评分函数,解释的绝对误差分数。

最佳分数为 1.0,也可能为负值(因为模型可能任意地更差)。一个始终使用y_true经验中位数作为常数预测的模型,忽略输入特征,其\(D^2\)分数为 0.0。

用户指南中了解更多信息。

版本 1.1 中新增。

参数:
y_truearray-like 形状 (n_samples,) 或 (n_samples, n_outputs)

真实目标值。

y_predarray-like 形状 (n_samples,) 或 (n_samples, n_outputs)

估计的目标值。

sample_weightarray-like 形状 (n_samples,), 默认值=None

样本权重。

multioutput{‘raw_values’, ‘uniform_average’} 或 array-like 形状 (n_outputs,), 默认值=’uniform_average’

定义多个输出值的聚合方式。Array-like 值定义用于平均分数的权重。

‘raw_values’

对于多输出输入,返回完整的误差集。

‘uniform_average’

所有输出的分数都以统一权重平均。

返回值:
score浮点数或浮点数 ndarray

具有绝对误差偏差的\(D^2\)分数,如果 ‘multioutput’ 为 ‘raw_values’,则返回分数的 ndarray。

备注

\(R^2\)类似,\(D^2\)分数可能为负值(它实际上不必是量 D 的平方)。

此指标对于单个样本没有明确定义,如果 n_samples 小于两个,则将返回 NaN 值。

参考文献

[1]

Hastie, Trevor J., Robert Tibshirani 和 Martin J. Wainwright 的等式 (3.11)。“具有稀疏性的统计学习:Lasso 及其推广。” (2015)。 https://hastie.su.domains/StatLearnSparsity/

示例

>>> 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)
np.float64(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')
np.float64(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)
np.float64(1.0)
>>> y_true = [1, 2, 3]
>>> y_pred = [2, 2, 2]
>>> d2_absolute_error_score(y_true, y_pred)
np.float64(0.0)
>>> y_true = [1, 2, 3]
>>> y_pred = [3, 2, 1]
>>> d2_absolute_error_score(y_true, y_pred)
np.float64(-1.0)