В этом сценарии вы хотите, чтобы объединил каждую из этих последовательностей в более крупную, которую я буду использовать для обучения и которая содержит данные для всех акций .
Вы можете добавление созданных TimeSeriesGenerators в Python список .
stock_timegenerators = []
for stock in stocks:
stock_df = stock.copy()
features = stock_df.pop('symbol')
target = stock_df.pop('price')
x = np.array(stock_df.values)
y = np.array(target.values)
# sequence = TimeseriesGenerator(x, y, length = 4, sampling_rate = 1, batch_size = 1)
stock_timegenerators.append(TimeseriesGenerator(x, y, length = 4, sampling_rate = 1, batch_size = 1))
Результатом этого будет добавленный TimeSeriesGenerator , который вы можете использовать по итерации список или ссылка по index .
[<tensorflow.python.keras.preprocessing.sequence.TimeseriesGenerator at 0x7eff62c699b0>,
<tensorflow.python.keras.preprocessing.sequence.TimeseriesGenerator at 0x7eff62c6eba8>,
<tensorflow.python.keras.preprocessing.sequence.TimeseriesGenerator at 0x7eff62c782e8>]
Также с несколькими сериями Keras Timeseries означает, что вы тренируетесь Несколько моделей LSTM для каждой акции.
Вы также можете использовать этот подход для эффективной работы с несколькими моделями.
lstm_models = []
for time_series_gen in stock_timegenerators:
# lstm_models.append(create_model()) : You could create everything using functions
# Or in the loop like this.
model = Sequential()
model.add(LSTM(32, input_shape = (n_input, n_features)))
model.add(Dense(1))
model.compile(loss ='mse', optimizer = 'adam')
model.fit(time_series_gen, steps_per_epoch= 1, epochs = 5)
lstm_models.append(model)
Это приведет к выводу списка моделей, добавленных и легко связанных с использованием индекса.
[<tensorflow.python.keras.engine.sequential.Sequential at 0x7eff62c7b748>,
<tensorflow.python.keras.engine.sequential.Sequential at 0x7eff6100e160>,
<tensorflow.python.keras.engine.sequential.Sequential at 0x7eff63dc94a8>]
This способ создания нескольких моделей LSTM с различными генераторами временных рядов для различных акций .
Надеюсь, это поможет вам.