当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn mean_absolute_percentage_error用法及代码示例


本文简要介绍python语言中 sklearn.metrics.mean_absolute_percentage_error 的用法。

用法:

sklearn.metrics.mean_absolute_percentage_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')

平均绝对百分比误差 (MAPE) 回归损失。

请注意,输出不是 [0, 100] 范围内的百分比,值 100 并不意味着 100%,而是 1e2。此外,当y_true 很小(特定于指标)或当abs(y_true - y_pred) 很大(这对于大多数回归指标很常见)时,输出可以任意高。在用户指南中阅读更多信息。

参数

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

基本事实(正确)目标值。

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

估计的目标值。

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

样本权重。

multioutput{‘raw_values’, ‘uniform_average’} 或类似数组

定义多个输出值的聚合。类似数组的值定义用于平均误差的权重。如果输入是列表,则形状必须是 (n_outputs,)。

‘raw_values’:

在多输出输入的情况下返回一整套错误。

‘uniform_average’:

所有输出的误差均采用统一的权重进行平均。

返回

loss浮点数或浮点数数组

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

MAPE 输出为非负浮点。最佳值为 0.0。但请注意,错误的预测可能会导致任意大的 MAPE 值,尤其是在某些 y_true 值非常接近于零的情况下。请注意,当y_true 为零时,我们返回一个大值而不是inf

例子

>>> from sklearn.metrics import mean_absolute_percentage_error
>>> y_true = [3, -0.5, 2, 7]
>>> y_pred = [2.5, 0.0, 2, 8]
>>> mean_absolute_percentage_error(y_true, y_pred)
0.3273...
>>> y_true = [[0.5, 1], [-1, 1], [7, -6]]
>>> y_pred = [[0, 2], [-1, 2], [8, -5]]
>>> mean_absolute_percentage_error(y_true, y_pred)
0.5515...
>>> mean_absolute_percentage_error(y_true, y_pred, multioutput=[0.3, 0.7])
0.6198...
>>> # the value when some element of the y_true is zero is arbitrarily high because
>>> # of the division by epsilon
>>> y_true = [1., 0., 2.4, 7.]
>>> y_pred = [1.2, 0.1, 2.4, 8.]
>>> mean_absolute_percentage_error(y_true, y_pred)
112589990684262.48

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.metrics.mean_absolute_percentage_error。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。