Я работаю над проектом, чтобы попытаться улучшить мое понимание сетей LSTM.Я следую инструкциям в этом сообщении здесь .Мой набор данных выглядит следующим образом:
Open High Low Close Volume
Date
2014-04-21 197.080002 206.199997 194.000000
204.380005 5258200
2014-04-22 206.360001 219.330002 205.009995
218.639999 9804700
2014-04-23 216.330002 216.740005 207.000000
207.990005 7295600
2014-04-24 210.809998 212.800003 203.199997
207.860001 5495200
2014-04-25 202.000000 206.699997 197.649994
199.850006 6996700
Как вы можете видеть, это небольшой снимок движения акций TSLA.
Я понимаю, что с LSTM эти данные должны быть преобразованы в триРазмеры:
Размер партии
Шаг по времени
Характеристики
Моя первоначальная идея заключалась в том, чтобы использовать какой-то пакет среднего размера (чтобы обеспечить лучшее обобщение).Кроме того, чтобы оглянуться на 10 дней истории как Шаг Времени.Возможности: Open, High, Low, Volume, Close.
Здесь я немного застрял.У меня есть два вопроса, а именно:
Каков подход для разбивки данных на новое представление (преобразования)?
Как мывзять это и разделить на наборы поездов, тестов и проверок?У меня возникают проблемы с концептуальным пониманием того, что именно разбивается.Сначала я думал использовать sklearn:
train_test_split ()
Но, похоже, в этом случае это не сработает.
Очевидно,как только данные были преобразованы, а затем разделены, легко построить модель Keras.Это просто вопрос соответствия. (Данные).
Буду признателен за любые предложения или ресурсы (указывающие в правильном направлении).
Мой текущий код:
from sklearn.model_selection import train_test_split
# Split the Data into Training and Testing Data
tsla_train, tsla_test = train_test_split(tsla)
tsla_train.shape
tsla_test.shape
from sklearn.preprocessing import MinMaxScaler
# Scale the Data
scaler = MinMaxScaler()
scaler.fit(tsla_train)
tsla_train_scaled = scaler.transform(tsla_train)
tsla_test_scaled = scaler.transform(tsla_test)
# Define the parameters of the model
batch_size = 20
# Set the model to look back on four days of historical data and
try to predict the fifth
time_steps = 10
from keras.models import Sequential
from keras.layers import LSTM, Dense
lstm_model = Sequential()
В этом посте найдено объяснение здесь .