d2_pinball_score#
- sklearn.metrics.d2_pinball_score(y_true, y_pred, *, sample_weight=None, alpha=0.5, multioutput='uniform_average')#
\(D^2\) 回归评分函数,解释了分位数损失的比例。
最佳得分是1.0,但也可能是负的(因为模型可能任意差)。一个总是使用
y_true
的经验alpha分位数作为常数预测的模型,忽略输入特征, 得到一个0.0的:math:D^2
分数。更多信息请参阅:ref:
用户指南 <d2_score>
。Added in version 1.1.
- Parameters:
- y_true类数组,形状为 (n_samples,) 或 (n_samples, n_outputs)
真实目标值。
- y_pred类数组,形状为 (n_samples,) 或 (n_samples, n_outputs)
估计的目标值。
- sample_weight类数组,形状为 (n_samples,), 默认=None
样本权重。
- alpha浮点数, 默认=0.5
分位数偏差的斜率。它决定了分位数水平alpha, 对于该分位数水平,分位数偏差和D2是最优的。 默认的
alpha=0.5
等同于d2_absolute_error_score
。- multioutput{‘raw_values’, ‘uniform_average’} 或 形状为 (n_outputs,) 的类数组, 默认=’uniform_average’
定义多个输出值的聚合方式。 类数组值定义了用于平均分数的权重。
- ‘raw_values’ :
在多输出输入的情况下返回一组完整的误差。
- ‘uniform_average’ :
所有输出的分数以均匀权重平均。
- Returns:
- score浮点数或浮点数数组
带有分位数偏差的:math:
D^2
分数, 如果multioutput='raw_values'
,则为分数数组。
Notes
像:math:
R^2
一样,\(D^2\) 分数可能是负的 (它不一定是一个量D的平方)。对于单个点,此度量没有很好的定义,如果n_samples小于两个,将返回NaN值。
References
[1][2]Hastie, Trevor J., Robert Tibshirani and Martin J. Wainwright. “Statistical Learning with Sparsity: The Lasso and Generalizations.” (2015). https://hastie.su.domains/StatLearnSparsity/ 中的Eq. (3.11)
Examples
>>> from sklearn.metrics import d2_pinball_score >>> y_true = [1, 2, 3] >>> y_pred = [1, 3, 3] >>> d2_pinball_score(y_true, y_pred) 0.5 >>> d2_pinball_score(y_true, y_pred, alpha=0.9) 0.772... >>> d2_pinball_score(y_true, y_pred, alpha=0.1) -1.045... >>> d2_pinball_score(y_true, y_true, alpha=0.1) 1.0