使用经过训练的 Tensorflow 模型 (LSTM-RNN) 进行未来预测
Making a future prediction with trained Tensorflow model (LSTM-RNN)
我对如何让 RNN-LSTM model
生成未来值有疑问。我认为我需要将值附加到 "inputs" 以便 X_test
超出我的测试数据集并延伸到未来,但我应该如何去做,或者这些值应该是什么?在这里对我放轻松,只是开始 python/machine 学习。
X_test.shape = (193, 60, 5)
在此代码的末尾,顺便说一句,包含“Open, High, Low, Close, Volume" 值。
past_60_days = data_training.tail(60)
df = past_60_days.append(data_test, ignore_index = True)
df = df.drop(['Date', 'Adj Close'], axis = 1)
inputs = scaler.transform(df)
X_test = []
y_test = []
for i in range(60, inputs.shape[0]):
X_test.append(inputs[i-60:i])
y_test.append(inputs[i, 0])
X_test, y_test = np.array(X_test), np.array(y_test)
y_pred = regressior.predict(X_test)
你的问题是 Time Series Analysis
是的,可以使用 LSTM
(RNN) 来预测未来。
例如,您想要预测未来几天的价值,考虑到过去 60 天的数据,代码的重要部分将是
def multivariate_data(dataset, target, start_index, end_index, history_size,
target_size):
data = []
labels = []
start_index = start_index + history_size
if end_index is None:
end_index = len(dataset) - target_size
for i in range(start_index, end_index):
indices = range(i-history_size, i)
data.append(dataset[indices])
labels.append(target[i:i+target_size])
return np.array(data), np.array(labels)
past_history = 60
future_target = 1
x_train, y_train = multivariate_data(dataset, dataset[:, 0], 0,
training_data_len, past_history,
future_target)
x_val_single, y_val_single = multivariate_data(dataset, dataset[:, 0],
training_data_len, None, past_history,
future_target)
请参考此 Comprehensive Tensorflow Tutorial,其中包含 Multi-Variate Data
(多列,如 Open, Close, High, Low, etc..
)的完整代码,它预测了 Single Step
和 Multiple Steps
。
如果您在实施过程中遇到任何错误,请与我们联系,我们很乐意为您提供帮助。
希望这对您有所帮助。快乐学习!
我对如何让 RNN-LSTM model
生成未来值有疑问。我认为我需要将值附加到 "inputs" 以便 X_test
超出我的测试数据集并延伸到未来,但我应该如何去做,或者这些值应该是什么?在这里对我放轻松,只是开始 python/machine 学习。
X_test.shape = (193, 60, 5)
在此代码的末尾,顺便说一句,包含“Open, High, Low, Close, Volume" 值。
past_60_days = data_training.tail(60)
df = past_60_days.append(data_test, ignore_index = True)
df = df.drop(['Date', 'Adj Close'], axis = 1)
inputs = scaler.transform(df)
X_test = []
y_test = []
for i in range(60, inputs.shape[0]):
X_test.append(inputs[i-60:i])
y_test.append(inputs[i, 0])
X_test, y_test = np.array(X_test), np.array(y_test)
y_pred = regressior.predict(X_test)
你的问题是 Time Series Analysis
是的,可以使用 LSTM
(RNN) 来预测未来。
例如,您想要预测未来几天的价值,考虑到过去 60 天的数据,代码的重要部分将是
def multivariate_data(dataset, target, start_index, end_index, history_size,
target_size):
data = []
labels = []
start_index = start_index + history_size
if end_index is None:
end_index = len(dataset) - target_size
for i in range(start_index, end_index):
indices = range(i-history_size, i)
data.append(dataset[indices])
labels.append(target[i:i+target_size])
return np.array(data), np.array(labels)
past_history = 60
future_target = 1
x_train, y_train = multivariate_data(dataset, dataset[:, 0], 0,
training_data_len, past_history,
future_target)
x_val_single, y_val_single = multivariate_data(dataset, dataset[:, 0],
training_data_len, None, past_history,
future_target)
请参考此 Comprehensive Tensorflow Tutorial,其中包含 Multi-Variate Data
(多列,如 Open, Close, High, Low, etc..
)的完整代码,它预测了 Single Step
和 Multiple Steps
。
如果您在实施过程中遇到任何错误,请与我们联系,我们很乐意为您提供帮助。
希望这对您有所帮助。快乐学习!