【问题标题】:ValueError in Inverse Scaling反向缩放中的 ValueError
【发布时间】:2021-10-31 04:50:51
【问题描述】:

我正在构建一个 RNN 模型,就像我为训练集所做的那样,我需要扩展我的测试数据。我正在运行下面的代码并收到错误“ValueError:操作数无法与形状 (334,6) (7,) (334,6) 一起广播”。我检查了我最初缩放的数据,它没有任何 NA 或其他东西。

预测的反向缩放

inv_yhat = concatenate((yhat, X_test[:, 1:]), axis=1)
inv_yhat = scaler.inverse_transform(inv_yhat)        
inv_yhat = inv_yhat[:,0]

错误:

> ValueError                                Traceback (most recent call
> last) <ipython-input-8-191de6d51a88> in <module>
>       3 # invert scaling for forecast
>       4 inv_yhat = concatenate((yhat, X_test[:, 1:]), axis=1)
> ----> 5 inv_yhat = scaler.inverse_transform(inv_yhat)          # min max scaler
>       6 inv_yhat = inv_yhat[:,0]
>       7 
> 
> D:\Anaconda3\lib\site-packages\sklearn\preprocessing\_data.py in
> inverse_transform(self, X)
>     459                         force_all_finite="allow-nan")
>     460 
> --> 461         X -= self.min_
>     462         X /= self.scale_
>     463         return X
> 
> ValueError: operands could not be broadcast together with shapes
> (334,6) (7,) (334,6)

这似乎是一个简单的错误,但我无法弄清楚。

【问题讨论】:

  • inv_yhat 的形状是什么?
  • (334, 6) @Kishore
  • fitscaler有相同形状的数据吗?

标签: python scikit-learn recurrent-neural-network scaling


【解决方案1】:

我发现了错误,感谢@Kishore 让我意识到这一点。

当我在训练和测试拆分之前为 X 和 y 分配特征时,我出错并从 X 中删除了一列。因此 X_train 的形状变为 (646, 1 , 6) 并且无法使用其他具有 7 个特征并给出错误的形状。

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 1970-01-01
    • 2020-03-14
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 2021-08-11
    相关资源
    最近更新 更多