首页 > 解决方案 > 为什么 MAE 很小,但在回归分析中图表没有显示出明确的关系

问题描述

我已经将真实值与预测值绘制为回归任务。我的测试集包含大约 5000 个样本,训练集包含大约 12000 个样本。当我计算 MAE 时,它的结果非常小,但是当我绘制 y_test 与预测时,它似乎并没有明确的关系(请参阅附图)线性回归

随机森林回归

我如何解释这样的结果?当我看到情节和 MAE 的性质时,随机森林(第二个,MAE 0.028)显示出比线性回归(第一个 MAE 0.059)更好的关系。如果我只呈现 MAE,那么可以得出结论,我的回归模型表现得非常好,但图中并没有显示出这种关系。任何人都可以在这种情况下提供一些建议吗?

标签: machine-learningregression

解决方案


改进模型的最常见方法是转换一个或多个变量,通常使用“对数”转换。

转换变量会改变其分布的形状。通常,最好的起点是具有不对称分布的变量,而不是更对称或钟形分布的变量。

一般来说,回归模型更适用于更对称的钟形曲线。尝试不同类型的变换,直到找到最接近该形状的变换。通常不可能接近那个目标,但这就是目标。

因此,假设您将收入的平方根作为尝试获得更对称的形状,您的分布如下所示:

在此处输入图像描述

这很好,但它仍然有点不对称。让我们尝试获取收入的对数,这会产生这种形状: 在此处输入图像描述

如果你取一个数字的 log10(),你说的是“10 的幂给了我这个数字”。例如,这是一个包含四个数据点的简单表格,包括收入和日志(收入)。

点击这里

这种转换的有趣之处在于您的回归不再是线性的。当温度从 20 上升到 30 时,收入从 10 上升到 100,相差 90 个单位。然后当温度从 30 到 40 时,收入从 100 到 1000,差距更大。

另请注意,您不能取 0 或负数的对数(没有 X,其中 10X = 0 或 10X = -5),因此如果您进行对数转换,您将丢失回归中的这些数据点. 处理这种情况的常用方法有 4 种:

  1. 取平方根或立方根。这些不会像记录日志那样显着改变曲线的形状,但它们允许 0 保留在回归中。
  2. 如果不是太多的数据行为零,并且这些行在理论上并不重要,您可以决定继续记录日志并从回归中丢失几行。
  3. 取 log(y) 代替 log(y),取 log(y+1),这样零就变成 1,然后可以保留在回归中。这会使您的模型有点偏颇,并且有些不受欢迎,但实际上它的负面影响通常很小。

推荐阅读