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,) 的 array-like

真实(正确)的目标值。

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

估计的目标值。

sample_weightshape 为 (n_samples,) 的 array-like, default=None

样本权重。

powerfloat, default=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: 伽马分布。要求:y_true > 0 且 y_pred > 0。

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

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

返回:
zfloat

D^2 分数。

注意事项

这不是一个对称函数。

与 R^2 一样,D^2 得分可能为负值(它不一定是某个量 D 的平方)。

此度量对于单个样本未明确定义,如果 n_samples 小于两个,将返回 NaN 值。

References

[1]

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

示例

>>> 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