Python怎么实现LSTM时间序列预测
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"Python怎么实现LSTM时间序列预测",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python怎么实现LSTM时间序列预测"吧!参考
千家信息网最后更新 2025年11月08日Python怎么实现LSTM时间序列预测
本篇内容主要讲解"Python怎么实现LSTM时间序列预测",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python怎么实现LSTM时间序列预测"吧!
参考数据:
数据一共两列,左边是日期,右边是乘客数量
对数据做可视化:
import mathimport numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import read_csv from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM from sklearn.preprocessing import MinMaxScaler from sklearn.metrics import mean_squared_error #load dataset dataframe = read_csv('./international-airline-passengers.csv',usecols =[1],header = None,engine = 'python',skipfooter = 3)dataset = dataframe.values#将整型变为floatdataset = dataset.astype('float32')plt.plot(dataset)plt.show()可视化结果:
下面开始进行建模:
完整代码:
import mathimport numpy import pandas as pd import matplotlib.pyplot as plt from pandas import read_csv from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM from sklearn.preprocessing import MinMaxScaler from sklearn.metrics import mean_squared_error def create_dataset(dataset,look_back = 1): dataX,dataY = [],[] for i in range(len(dataset) - look_back - 1): a = dataset[i:i+look_back,0] b = dataset[i+look_back,0] dataX.append(a) dataY.append(b) return numpy.array(dataX),numpy.array(dataY)numpy.random.seed(7)dataframe = read_csv('./international-airline-passengers.csv',usecols = [1],header = None,engine = 'python')dataset = dataframe.valuesdataset = dataset.astype('float32')scaler = MinMaxScaler(feature_range = (0,1))dataset = scaler.fit_transform(dataset)train_size = int(len(dataset) * 0.67)test_size = len(dataset) - train_sizetrain,test = dataset[0:train_size,:],dataset[train_size:len(dataset),:]look_back = 1trainX,trainY = create_dataset(train,look_back)testX,testY = create_dataset(test,look_back)#reshape input to be [samples, time steps, features]trainX = numpy.reshape(trainX,(trainX.shape[0],look_back,trainX.shape[1]))testX = numpy.reshape(testX,(testX.shape[0],look_back,testX.shape[1]))#create and fit the LSTM network model = Sequential()model.add(LSTM(4,input_shape = (1,look_back)))model.add(Dense(1))model.compile(loss = 'mean_squared_error',optimizer = 'adam')model.fit(trainX,trainY,epochs = 100,batch_size = 1,verbose = 2)# make predictionstrainPredict = model.predict(trainX)testPredict = model.predict(testX)# invert predictionstrainPredict = scaler.inverse_transform(trainPredict)trainY = scaler.inverse_transform([trainY])testPredict = scaler.inverse_transform(testPredict)testY = scaler.inverse_transform([testY])# calculate root mean squared errortrainScore = math.sqrt(mean_squared_error(trainY[0], trainPredict[:,0]))print('Train Score: %.2f RMSE' % (trainScore))testScore = math.sqrt(mean_squared_error(testY[0], testPredict[:,0]))print('Test Score: %.2f RMSE' % (testScore))# shift train predictions for plottingtrainPredictPlot = numpy.empty_like(dataset)trainPredictPlot[:, :] = numpy.nantrainPredictPlot[look_back:len(trainPredict)+look_back, :] = trainPredict# shift test predictions for plottingtestPredictPlot = numpy.empty_like(dataset)testPredictPlot[:, :] = numpy.nantestPredictPlot[len(trainPredict)+(look_back*2)+1:len(dataset)-1, :] = testPredict# plot baseline and predictionsplt.plot(scaler.inverse_transform(dataset))plt.plot(trainPredictPlot)plt.plot(testPredictPlot)plt.show()运行结果:
到此,相信大家对"Python怎么实现LSTM时间序列预测"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
序列
时间
时间序列
数据
内容
结果
可视化
学习
实用
更深
乘客
代码
兴趣
右边
实用性
实际
操作简单
数量
方法
日期
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全总监 收入
git服务器如何恢复日志
世界神奇宝贝服务器
济南周边软件开发培训班
数据库链接测试工具
小米账号退出服务器错误
极速赛车软件开发
网络安全信息技术有关的公司名称
国家国防网络安全纪录片
电脑怎么建立远程桌面连接服务器
苏州项目软件开发定制
公路基础数据库系统
三重生态观昭示我们网络安全
以下关于域名服务器说法错误的是
服务器主板恢复默认bios设置
北邮网络安全选
中山通讯软件开发维修电话
无锡新区软件开发
物理不好能学软件开发吗
网络技术实验报告总结与体会
恐龙岛搜索服务器
河北泓枫网络技术有限公司
软件开发学啥
计算机信息管理软件开发工具
深圳专业软件开发市价
电脑怎么建立远程桌面连接服务器
认证网络安全吗
数据库 ole
抗病毒广告数据库5秒
云服务器gpu多少算力怎么查