转换目标变量

数据挖掘 机器学习
2022-02-28 08:17:16

构建我的机器学习模型,我有一个目标变量,它包含从 + 的美元值。我想将这些美元值转换为 1 到 10 的比例,然后尝试预测 1 到 10 的水平。0.011000000

将我的美元价值标准化为 1 到 10 的最佳方法是什么?

2个回答

答案取决于您的数据是如何分布的,以及您可以接受什么样的错误。如果分布接近均匀,并且您关心绝对误差为 1000 美元,则数据不一定需要缩放,或者您可以使用标准缩放(从最小值到最大值)。

在任何其他情况下,您可能希望对目标变量应用非线性变换。例如,如果观察值均匀分布在 0.01、0.1、1、10、100 等之间,或者更具体地说,当您关心相对误差(目标值的某个百分比)时,我建议使用对数转换这是因为无论目标变量值是什么,10% 的误差在经过对数转换后总是代表 0.1 个单位。

大多数情况(如果不是全部)都属于第二种情况。

您可以使用多种扩展策略。如果您知道什么是您的最高价值,那么最简单的方法就是使用最小-最大标准化。根据您使用的编程语言,您会找到帮助解决此问题的工具。在 python 中,您有MinMaxScaler,并且sklearn 文档描述了许多缩放/标准化策略