均值绝对误差回归损失计算

均值绝对误差(Mean Absolute Error, MAE)是一种常用的回归损失函数,用于衡量预测值与实际值之间的差异。它通过计算所有样本的预测误差的平均值来评估模型的性能。MAE的值越小,表示模型的预测越准确。

参数说明

MAE函数的参数包括:

  • 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,)的数组。用于指定多输出值的聚合方式。默认为'uniform_average'。

其中,multioutput参数的取值说明如下:

  • 'raw_values':在多输出的情况下,返回每个输出的误差值。
  • 'uniform_average':将所有输出的误差值进行均匀加权平均。
  • 数组:指定每个输出的权重,用于计算加权平均误差。

返回值

MAE函数的返回值包括:

  • multioutput为'raw_values'时,返回每个输出的MAE值。
  • multioutput为'uniform_average'或数组时,返回所有输出的加权平均MAE值。

MAE的输出是一个非负浮点数,最佳值为0.0。

示例代码

以下是使用MAE函数的示例代码:

from sklearn.metrics import mean_absolute_error # 示例1:单输出 y_true = [3, -0.5, 2, 7] y_pred = [2.5, 0.0, 2, 8] print(mean_absolute_error(y_true, y_pred)) # 输出:0.5 # 示例2:多输出 y_true = [[0.5, 1], [-1, 1], [7, -6]] y_pred = [[0, 2], [-1, 2], [8, -5]] print(mean_absolute_error(y_true, y_pred)) # 输出:0.75 # 示例3:多输出,指定输出权重 print(mean_absolute_error(y_true, y_pred, multioutput=[0.3, 0.7])) # 输出:0.85

MAE回归损失函数在多种场景下都有应用,例如:

  • 时间序列预测:通过引入滞后特征来提高预测模型的性能。
  • 泊松回归:在非正态分布的数据上进行回归分析。
  • 分位数回归:预测给定分位数的响应变量值。
  • Tweedie回归:在保险索赔数据上应用,处理非正态损失。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485