从Log值到指数值,用于预测机器学习算法的巨大失真

问题描述:

我构建了一个用于预测Y'值的机器学习算法。为此,我使用Y的Log值来进行数据缩放。 由于我得到了预测的Y'和实际Y值,我必须将Y & Y'的Log值转换为指数值。从Log值到指数值,用于预测机器学习算法的巨大失真

但是,从exp7(= ln1098)的值出现如此巨大的失真......这使得很多MSE(错误)。

我该如何避免这种巨大的失真?(一般情况下,我需要的值超过1000)

谢谢!

+0

如果您有乘法噪声(即噪声与因变量的大小成比例),取因变量的对数是有意义的。如果情况并非如此,那么不要这样做。标准化为0和方差1(即,通过标准差减去均值和除数)可以帮助避免数值问题,也许您可​​以尝试。您可能会在stats.stackexchange.com或datascience.stackexchangecom获得更多有用的回复。 –

为此,我使用Y的Log值来进行数据缩放。 不用于缩放,但要使目标变量分布正常。

如果您的MSE在实际目标值出现时就会出现 - 这意味着该模型根本无法满足大值。通常可以通过清理数据来解决(删除异常值)。或者采取另一个ML模型。

UPDATE 您可以运行KFold并为每个折叠计算预测值与实际值之间的MSE/MAE。然后采取大错误,并看看这些案件有哪些参数/功能。

你可以消除大错误的情况,但通常是危险的。

一般来说,大值不合适意味着您没有从原始数据集中删除异常值。绘制直方图和散点图,并确保你没有它们。

检查分类变量:可能您的值很小(< = 5%)。如果是这样,分组他们。

或者您需要创建2个模型:一个用于较小的值,一个用于较大的值。

+0

谢谢。 ML模型对Log值有很好的适应性。如果是这样,我怎么能找到导致失真的大值的异常值? – Daeun

+0

我更新了我的答案。 – avchauzov