Измените 3d Numpy на 2d в моделях LSTM - PullRequest
0 голосов
/ 25 февраля 2019

Я обучил LSTM AutoEncoder и хотел бы видеть прогнозируемые данные в виде DataFrame.Пока что у предсказанного numpy есть три измерения:

series_predicted = autoencoder.predict(np.reshape(series.values, (series.shape[0], timesteps, series.shape[1])))
series_predicted.shape

(3296, 1, 268)

Как удалить измерение временных шагов, чтобы вернуться к двум измерениям иприменить: df_predicted = pd.DataFrame(series_predicted, column=series.column)

ОБНОВЛЕНИЕ:

Как бы я поступил, если у меня нет размера 1, чтобы сжать?

  • Как (100, 23,178)
  • Я хочу, чтобы он был плоским до (100 * 23, 178)

У меня есть 100 последовательностей длины 23 с размером объекта 178.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Для измерения с size=1 вы можете использовать np.squeeze.Однако эта функция не работает для измерений с size>1.Вы можете использовать np.reshape (если это то, что вы ищете).Вот игрушечный пример:

a = np.random.rand(4,2,3)
a = a.reshape((4*2,3))
0 голосов
/ 25 февраля 2019
series_predicted = np.squeeze(series_predicted, axis=(1,))
series_predicted.shape

(3296, 268)

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