尝试缩放时如何解决“数组索引过多”的问题

时间:2019-04-16 11:38:55

标签: python arrays numpy tensorflow keras

我正在尝试使用MinMaxScalar()来反转一个numpy数组,但一直在获取该数组的索引过多。我尝试过更改数组的范围,但是当我期望使用2d数组时,我得到的是一个1d数组。

我尝试过更改数组的范围,但是当我期望使用2d数组时,我得到的是1d数组。

predicted = model.predict(validation_datas)
predicted_inverted = []

for i in range(original_datas.shape[1]):
    scaler.fit(original_datas[:,i].reshape(-1,1))
    predicted_inverted.append(scaler.inverse_transform(predicted[:,:,i]))

预测的外观如下:

shape: (1, 16)

[[0.32704943 0.3034607  0.30114597 0.27727398 0.31480426 0.26788703
  0.34096426 0.3469543  0.3245615  0.247298   0.28431317 0.20733464
  0.34777245 0.27601427 0.23167448 0.22896819]]

我不确定要反转预测的内容是什么。

1 个答案:

答案 0 :(得分:0)

我对您的情况一无所知,但错误似乎直截了当。您指定的索引过多。

正如您用shape所指出的那样,predicted是二维的。您正在提供三个索引([:,:,i])。太多了。

通常,跟踪这些问题的方法是注意引起问题的是哪一行,然后是引起问题的那一部分。如果您可以一点一点执行它,那么问题出在哪里应该很明显。