d2_tweedie_score#

sklearn.metrics.d2_tweedie_score(y_true, y_pred, *, sample_weight=None, power=0)[source]#

\(D^2\) 回归评分函数,解释了Tweedie偏差的比例。

可能最好的分数是1.0,它也可能是负数(因为模型可能任意地差)。一个总是使用 y_true 的经验平均值作为常数预测,而不考虑输入特征的模型,其D^2分数为0.0。

用户指南中阅读更多内容。

版本 1.0 新增。

参数:
y_true形状为 (n_samples,) 的类数组对象

真实(正确)的目标值。

y_pred形状为 (n_samples,) 的类数组对象

估计的目标值。

sample_weight形状为 (n_samples,) 的类数组对象, 默认=None

样本权重。

power浮点数, 默认=0

Tweedie幂参数。power <= 0 或 power >= 1。

p 越高,真实值和预测值之间极端偏差的权重就越小。

  • power < 0: 极端稳定分布。要求: y_pred > 0。

  • power = 0: 正态分布,输出对应于r2_score。y_true 和 y_pred 可以是任意实数。

  • power = 1: 泊松分布。要求: y_true >= 0 且 y_pred > 0。

  • 1 < p < 2: 复合泊松分布。要求: y_true >= 0 且 y_pred > 0。

  • power = 2: Gamma分布。要求: y_true > 0 且 y_pred > 0。

  • power = 3: 逆高斯分布。要求: y_true > 0 且 y_pred > 0。

  • 否则: 正稳定分布。要求: y_true > 0 且 y_pred > 0。

返回:
z浮点数

D^2 分数。

注意

这不是一个对称函数。

与R^2类似,D^2分数可能为负(它不一定是D的平方)。

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

参考文献

[1]

Hastie, Trevor J., Robert Tibshirani 和 Martin J. Wainwright. “Statistical Learning with Sparsity: The Lasso and Generalizations.” (2015) 的式 (3.11)。https://hastie.su.domains/StatLearnSparsity/

示例

>>> from sklearn.metrics import d2_tweedie_score
>>> y_true = [0.5, 1, 2.5, 7]
>>> y_pred = [1, 1, 5, 3.5]
>>> d2_tweedie_score(y_true, y_pred)
0.285...
>>> d2_tweedie_score(y_true, y_pred, power=1)
0.487...
>>> d2_tweedie_score(y_true, y_pred, power=2)
0.630...
>>> d2_tweedie_score(y_true, y_true, power=2)
1.0