mean_pinball_loss#

sklearn.metrics.mean_pinball_loss(y_true, y_pred, *, sample_weight=None, alpha=0.5, multioutput='uniform_average')#

Pinball损失用于分位数回归。

更多信息请参阅 用户指南

Parameters:
y_true类似数组,形状为 (n_samples,) 或 (n_samples, n_outputs)

真实目标值(正确)。

y_pred类似数组,形状为 (n_samples,) 或 (n_samples, n_outputs)

估计的目标值。

sample_weight类似数组,形状为 (n_samples,), 默认=None

样本权重。

alpha浮点数, pinball损失的斜率, 默认=0.5,

alpha=0.5 时,该损失等价于 平均绝对误差alpha=0.95 时,最小化该损失的估计器对应于第95个百分位数。

multioutput{‘raw_values’, ‘uniform_average’} 或 形状为 (n_outputs,) 的类似数组, 默认=’uniform_average’

定义多个输出值的聚合方式。 类似数组的值定义了用于平均误差的权重。

‘raw_values’ :

在多输出输入的情况下返回完整的误差集。

‘uniform_average’ :

所有输出的误差以均匀权重进行平均。

Returns:
loss浮点数或浮点数数组

如果 multioutput 是 ‘raw_values’,则返回每个输出的平均绝对误差。 如果 multioutput 是 ‘uniform_average’ 或权重数组,则返回所有输出误差的加权平均值。

pinball损失输出是一个非负浮点数。最佳值为0.0。

Examples

>>> from sklearn.metrics import mean_pinball_loss
>>> y_true = [1, 2, 3]
>>> mean_pinball_loss(y_true, [0, 2, 3], alpha=0.1)
0.03...
>>> mean_pinball_loss(y_true, [1, 2, 4], alpha=0.1)
0.3...
>>> mean_pinball_loss(y_true, [0, 2, 3], alpha=0.9)
0.3...
>>> mean_pinball_loss(y_true, [1, 2, 4], alpha=0.9)
0.03...
>>> mean_pinball_loss(y_true, y_true, alpha=0.1)
0.0
>>> mean_pinball_loss(y_true, y_true, alpha=0.9)
0.0