# 代码功能: LS-TM 循环神经网络,预测时间序列------------------------------------
# 第1步: 处理原始数据集, 归一化,制作X_train、Y_train、X_test、Y_test
# 第2步: 训练LS-TM网络, epoch=300
# 第3步: 时间序列预测
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import LSTM, Dense, Activation
# read raw data
csv = pd.read_csv('international-airline-passengers.csv', usecols=['passengers'])
min_max = MinMaxScaler() # normalize
raw_data = min_max.fit_transform(csv) # 144
# make training set、testing set
seq_len = 10
data = []
for i in range(len(raw_data)-seq_len):
data.append(raw_data[i:i+seq_len+1])
data = np.array(data) # (134, 11, 1)
X_train = data[0:120, :-1] # (120, 10, 1)
Y_train = data[0:120, -1] # (120, 1)
X_test = data[120:len(data), :-1] # (14, 10, 1)
Y_test = data[120:len(data), -1] # (14, 1)
# RNN structure
model = Sequential()
model.add(LSTM(units=256, input_shape=(10, 1), return_sequences=True))
model.add(LSTM(units=256))
model.add(Dense(units=1))
model.add(Activation('linear'))
model.compile(loss='mse', optimizer='adam')
model.fit(X_train, Y_train, batch_size=20, epochs=300)
# predict train time series
plt.plot(min_max.inverse_transform(Y_train), 'b', label='Train real data')
plt.plot(min_max.inverse_transform(model.predict(X_train)), 'r:', label='LS_TM predict')
plt.legend()
plt.savefig('1.jpg')
plt.show()
# predict test time series
plt.plot(min_max.inverse_transform(Y_test), 'b--', marker='o', label='Test real data')
plt.plot(min_max.inverse_transform(model.predict(X_test)), 'r:', marker='*', label='LS_TM predict')
plt.legend()
plt.savefig('2.jpg')
plt.show()

X_Student737
- 粉丝: 338
最新资源
- Excel表格通用模板:聚会规划器.xls
- QT6 类型 QMimeData 的源代码带注释
- Dreamweaver教程第章.ppt
- Radware虚拟化数据中心解决方案.pptx
- Excel表货品总账表的制作【会计实务操作教程】.pptx
- CADMATIC船舶建模与标准化.pdf
- 2022网络安全会议开场白主持词.docx
- Marketing20时代的品牌网络营销.pptx
- 第五章-基于ARM的嵌入式程序设计.ppt
- 北师大版高数必修三第6讲:算法与程序框图(2)(教师版).docx
- 2023年网络综合布线技术技能竞赛试题.doc
- 2023年电子商务第三次在线作业.doc
- 2022自动化学生专业求职信_.docx
- C++程序设计期末试卷及答案.doc
- 2023年网络工程师职业发展路线图.doc
- javaEE学生课程设计成绩评估系统.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


