mean_absolute_percentage_error#
- sklearn.metrics.mean_absolute_percentage_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')[源代码]#
平均绝对百分比误差(MAPE)回归损失。
请注意,我们不使用常见的“百分比”定义:范围内的百分比 [0, 100] 转换为范围内的相对值 [0, 1] 除以100。因此,200%的误差对应于相对误差2。
阅读更多的 User Guide .
Added in version 0.24.
- 参数:
- y_true形状的类似阵列(n_samples,)或(n_samples,n_outputs)
地面真相(正确)目标值。
- y_pred形状的类似阵列(n_samples,)或(n_samples,n_outputs)
估计目标值。
- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- multioutput{'raw_values','uniform_average'}或类似数组
定义多个输出值的聚合。类似数组的值定义用于平均误差的权重。如果输入是列表,那么形状必须是(n_outputs,)。
- “raw_values”:
如果是多输出输入,返回完整的错误集。
- 'uniform_average':
所有输出的误差以统一的权重进行平均。
- 返回:
- loss浮动或浮动数组
如果多输出为“raw_values”,则分别返回每个输出的平均绝对百分比误差。如果多输出是“unique_average”或ndweight数组,则返回所有输出错误的加权平均值。
MAPE输出为非负浮点。最佳值是0.0。但请注意,错误的预测可能会导致任意大的MAPE值,特别是在某些情况下,
y_true
值非常接近于零。请注意,我们返回一个大值,而不是inf
当y_true
是零。
示例
>>> 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