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)