Я использую код, определенный в разделе «Использование» этого репо: https://github.com/achillesrasquinha/bulbea/
Я получаю тот же вывод:
Допри обучении и тестировании данные нормализуются с помощью следующего кода:
if normalize:
splits = np.array([_get_cummulative_return(split) for split in splits])
size = len(splits)
split = int(np.rint(train * size))
train = splits[:split,:]
test = splits[split:,:]
И нормализующая функция:
def _get_cummulative_return(data):
cumret = (data / data[0]) - 1
return cumret
Процесс моделирования:
Xtrain = np.reshape(Xtrain, (Xtrain.shape[0], Xtrain.shape[1], 1))
Xtest = np.reshape( Xtest, ( Xtest.shape[0], Xtest.shape[1], 1))
rnn = RNN([1, 100, 100, 1]) # number of neurons in each layer
rnn.fit(Xtrain, ytrain)
И тестирование:
p = rnn.predict(Xtest)
, чтобы использовать этот предиктор, должен ли я:
- Нормализовать с помощью той же функции мои новые входные данные, использованные для прогноза?
- Передать данные в предиктор и денормализовать вывод?
Если да, как денормализовать данные?