Joh*_*ill 0 machine-learning normalization scale
假设我想预测股票价格,并且我有训练数据,我知道其中的最小值和最大值。这似乎是使用 MinMaxScaler 的好例子,但我想知道以下内容。如果我从训练数据中知道最高值设置为 1,那么当测试数据中的股票价格达到比我一开始标准化为 1 的值更高时会发生什么?它是否只是覆盖它并将其指定为新的最大值?
sklearn 中的缩放器具有三种值得注意的方法,您在运行这些类型的程序时应该使用它们:
scaler.fit(x)- 这会将缩放器的最小值和最大值(使用 MinMaxScaler 时)设置为 x 中找到的值y_transformed = scaler.transform(y)fit- 这将使用上面命令中找到的参数转换数据 yx_transformed = scaler.fit_transform(x)这将同时运行上述两个命令。这应该只应用于您的训练数据。因此,本质上,当您训练模型时,您将使用严格在 0-1 范围内的数据进行训练,因为您的缩放器将根据该数据进行拟合。当您获取新数据或测试/验证集中的数据可能超出范围(使用scaler.transform(y))时,这将仅返回 0-1 范围之外的数据(即 1.1 或 -0.4 的值)。
如果这是您正在使用的算法的问题,我建议您将数据裁剪为 0-1,或者在训练之前增加缩放器的参数(在预期中)。
| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |