Как можно настроить набор поездов, набор тестов и набор проверок для Keras в RNN? - PullRequest
0 голосов
/ 05 мая 2019

Я играю с набором данных, которые являются временными рядами, и с помощью изменения формы я извлекаю их в RNN.

Набор данных содержит 40 временных шагов набор данных Я надеюсь каждый раз1 строка, содержащая 1440 столбцов, извлекается в RNN и проходит обучение, а в конце - 40 раз (1, 1440) - подача и обучение в RNN.

X_train size: (40, 1, 1440)
X_test size: (40, 1, 1440)

Проблема - хочу разделить набор данныхв: набор данных , набор проверок и набор тестов , чтобы я мог прогнозировать после timestep = t и выводить график.

img Я уже прочитал @YSelf answer и причину, по которой полезна, но, к сожалению, я еще не настроил ее успешно из-за структуры данных.Я хочу предоставить условие, которое я могу изменить в сценариях реализации, чтобы, скажем, мне было интересно прогнозировать временные шаги после 35-й строки или временной шаг до конца.Как я могу выполнить это и как я могу продемонстрировать его сюжет?

мой код следующий:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from keras.layers import Dense , Activation , BatchNormalization
from keras.layers import LSTM,SimpleRNN
from keras.models import Sequential
from keras.optimizers import Adam, RMSprop

data_train = pd.read_csv("D:\Train.csv", header=None)

#select interested columns to predict 980 out of 1440 for prediction
j=0
index=[]
for i in range(1439):
    if j==2:
        j=0
        continue
    else:
        index.append(i)
        j+=1

Y_train = data_train[index]
Y_test  = data_test[index]
data_train = data_train.values
data_test  = data_test.values
X_train = data_train .reshape((data_train.shape[0], 1,data_train.shape[1]))
X_test  = data_test  .reshape((data_test.shape[0] , 1 ,data_test.shape[1]))


# create and fit the SimpleRNN model
model_RNN = Sequential()
model_RNN.add(SimpleRNN(units=1440, input_shape=(X_train.shape[1], X_train.shape[2]))) #in real data units=1440
model_RNN.add(Dense(960)) # in real data Dense(960)
model_RNN.add(BatchNormalization())
model_RNN.add(Activation('tanh'))
model_RNN.compile(loss='mean_squared_error', optimizer='adam')
hist_RNN=model_RNN.fit(X_train[:30, :], Y_train[30:, :], epochs =50, batch_size =20,validation_data=(X_train[:30, :], Y_train[30:, :]),verbose=1)

Я был бы очень признателен, если бы кто-то мог объяснить ответ на вопросы.Заранее спасибо.

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