Keras LSTM: как обучить модель с несколькими входами - PullRequest
0 голосов
/ 07 июля 2019

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

Поскольку я предполагаю, что на цену времени (t) будет влиять предыдущее значение цены за 51 час, я пишу определение и обучаю модель, основываясь на биткойнах за каждый час Цена закрытия:

def create_dataset(dataset, look_back):
    dataX, dataY = [], []
    for i in range(len(dataset) - look_back):
        a = dataset[i:(i + look_back), 0]
        dataX.append(a)
        dataY.append(dataset[i + look_back, 0])
    print(len(dataY))
    return np.array(dataX), np.array(dataY)

look_back = 51
trainX, trainY = create_dataset(train, look_back=look_back)
testX, testY = create_dataset(test, look_back=look_back)

#Reshape X for model training
trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
testX = np.reshape(testX, (testX.shape[0], 1, testX.shape[1]))


model = Sequential()
model.add(LSTM(128, input_shape=(trainX.shape[1], trainX.shape[2])))
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam')
history = model.fit(trainX, trainY, epochs=300, batch_size=100, validation_data=(testX, testY), verbose=0, shuffle=False)

Однако я не знаю, как добавить еще один атрибут (чувство) в мою модель. Для настроения я использую API, который даст мне пять баллов, каждый балл представляет значение определенной эмоции. Моя первая мысль состоит в том, чтобы объединить таблицу цен и таблицу настроений в один вектор и сделать это в качестве входных данных. Но так как цена и настроение - две разные вещи, я не уверен, разумно ли это. Или я должен добавить еще один слой: model.add (sentiment)? Но если я сделаю это, у него будет 2 trainX.

   Average_Anger    Average_Joy Average_Sadness Average_Fear    Average_Disgust
990 0.015561    0.017274    0.011605    0.014695    0.013854
989 0.015959    0.017144    0.011845    0.014390    0.013856
988 0.015181    0.017887    0.011130    0.013382    0.012693
987 0.014130    0.018764    0.009678    0.011879    0.011242
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...