MinMaxScaler inverse_transform 不同大小的数组

Posted

技术标签:

【中文标题】MinMaxScaler inverse_transform 不同大小的数组【英文标题】:MinMaxScaler inverse_transform diferente size array 【发布时间】:2019-04-15 08:58:28 【问题描述】:

所以我有一个缩放器:

scaler = MinMaxScaler(feature_range=(0, 1))

它有 9 列,其中第 0 列是我的 Y,我使用我的缩放器来处理所有列。

当我做出预测时:

yhat = model.predict(test_X)

我想使用相同的缩放器,以便我可以将我的值转换回正常值,但现在我的输出只有 1 列,而我的缩放器有 9,这是一个问题。

所以我希望找到一种方法,我可以做一些事情,比如抓住缩放器并告诉他“使用 [0] 列进行逆转换来完成我的预测。”

有没有办法做到这一点?

或者唯一的方法是为我的 Y 列做其他 Scaler 并使用它?

【问题讨论】:

使用两个单独的缩放器,一个用于X 的8 个功能,另一个用于输出y 【参考方案1】:

您可以将新的预测 y 值与 x 值结合起来,得到一个 9 列矩阵并将其缩小。但是将 MinmaxScaler 的两个不同实例用于 x 和 y 会更容易,这样您就可以缩放通过反转 y 的比例得到预测输出。

【讨论】:

您好!我最终这样做了。我为 X 和 Y 制作了两个不同的实例 os MinManScaler。感谢您的提示!

以上是关于MinMaxScaler inverse_transform 不同大小的数组的主要内容,如果未能解决你的问题,请参考以下文章

SKLearn MinMaxScaler - 仅缩放特定列

MinMaxScaler.fit_transform 始终返回/转换为 0

MinMaxScaler 在任何 NumPy 数组上显示奇怪的输出

如何在旧的 MinMaxScaler 上重新调整新数据库? [复制]

如何将 sklearn MinMaxScaler() 的值转换回实际值?

使用管道将 MinMaxScaler() 应用于 RFECV()