Как исправить «слишком много индексов для массива» при попытке масштабировать. - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь использовать MinMaxScalar () для инвертирования пустого массива, но получаю, что это слишком много индексов для массива. Я попытался изменить диапазон в массиве, но потом я понял, что это 1d массив, когда он ожидает 2d массив.

Я попытался изменить диапазон в массиве, но потом я понял, что это 1d массив, когда он ожидает 2d массив.

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 голосов
/ 16 апреля 2019

Я многое не знаю о вашей ситуации, но ошибка кажется очевидной. Вы указываете слишком много индексов.

Как вы указываете с помощью shape, predicted является 2-мерным. Вы предоставляете три индекса ([:,:,i]). Это слишком много.

В общем случае, чтобы отследить их, нужно отметить, какая строка вызывает проблему, а затем какая часть этой линии вызывает проблему. Если вы можете выполнить его постепенно, должно стать очевидным, в чем проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...