python时间序列分析航空旅人_Python深度学习教程:LSTM时间序列预测小练习—国航乘客数量预测...
Python深度学习教程:LSTM时间序列预测小练习—国航乘客数量预测
参考数据:
数据一共两列,左边是日期,右边是乘客数量
对数据做可视化:import math
import 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
#将整型变为float
dataset = dataset.astype('float32')
plt.plot(dataset)
plt.show()
可视化结果:
下面开始进行建模:
完整代码:import math
import 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.values
dataset = 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_size
train,test = dataset[0:train_size,:],dataset[train_size:len(dataset),:]
look_back = 1
trainX,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 predictions
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
# invert predictions
trainPredict = scaler.inverse_transform(trainPredict)
trainY = scaler.inverse_transform([trainY])
testPredict = scaler.inverse_transform(testPredict)
testY = scaler.inverse_transform([testY])
# calculate root mean squared error
trainScore = 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 plotting
trainPredictPlot = numpy.empty_like(dataset)
trainPredictPlot[:, :] = numpy.nan
trainPredictPlot[look_back:len(trainPredict)+look_back, :] = trainPredict
# shift test predictions for plotting
testPredictPlot = numpy.empty_like(dataset)
testPredictPlot[:, :] = numpy.nan
testPredictPlot[len(trainPredict)+(look_back*2)+1:len(dataset)-1, :] = testPredict
# plot baseline and predictions
plt.plot(scaler.inverse_transform(dataset))
plt.plot(trainPredictPlot)
plt.plot(testPredictPlot)
plt.show()
运行结果:
本次的Python学习教程!
python时间序列分析航空旅人_Python深度学习教程:LSTM时间序列预测小练习—国航乘客数量预测...相关推荐
- python时间序列分析航空旅人_python时间序列分析
一.什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值. 在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的 ...
- python时间序列分析航空旅人_用python做时间序列预测一:初识概念
利用时间序列预测方法,我们可以基于历史的情况来预测未来的情况.比如共享单车每日租车数,食堂每日就餐人数等等,都是基于各自历史的情况来预测的. 什么是时间序列? 时间序列,是指同一个变量在连续且固定的时 ...
- python时间序列分析航空旅人_大佬整理的Python数据可视化时间序列案例,建议收藏(附代码)...
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 时间序列 1.时间序列图 时间序列图用于可视化给定指标如何随时间变化.在这 ...
- python时间序列分析航空旅人_时间序列分析-ARIMA模型(python)
时间序列概念:在生产和科学研究中,对某一个或者一组变量 进行观察测量,将在一系列时刻 所得到的离散数字组成的序列集合,称之为时间序列.时间序列分析是根据系统观察得到的时间序列数据,通过曲线拟合和参数估 ...
- python读取文件数据恢复软件_python深度学习pdf恢复
3步快速找回,让数据恢复变得简单 版权所有 1990-2020 B计划信息技术有限公司 python深度学习pdf python深度学习pdf Windows 10,Windows 7,Windows ...
- python能做机器人吗_python深度学习 人工智能是做机器人吗?
我们经常听到"Python"与"人工智能"这两个词, 也很容易混淆这两个词, 那么Python和人工智能到底什么关系呢? Python人工智能工程师待遇怎么样? ...
- python如何实现找图_Python深度学习,手把手教你实现「以图搜图」
随着深度学习的崛起,极大的推动了图像领域的发展,在提取特征这方面而言,神经网络目前有着不可替代的优势.之前文章中我们也介绍了图像检索往往是基于图像的特征比较,看特征匹配的程度有多少,从而检索出相似度高 ...
- python、C++、机器学习、深度学习-------资源、代码练习的常用网站大全
一.13万第三方库的下载查询网站:pypi 网站:https://pypi.org/ 二.UCI页面(在windows操作系统上,可以下载的第三方库(编译后的版本)) 网站:https://www.l ...
- 自学python要到什么程度-学好深度学习,Python 得达到什么程度?
如今,网络上的Python机器学习资源纷繁复杂,使得刚入门的小白们眼花缭乱.究竟从哪里开始?如何进行?云栖君给你推荐以下内容,相信读完你就会有自己的答案. "开始",是一个令人激动 ...
最新文章
- 浅谈使用SQLBulkCopy批量数据入库
- 性能优化指南:性能优化的一般性原则与方法
- yum安装zlib出错
- boost::detail模块实现宏BOOST_DETAIL_IS_XXX_DEF的测试程序
- Hadoop之HDFS常用Shell命令
- java jndi使用_Java项目中使用JNDI连接数据库
- MySQL 基础 ———— 分组查询
- C#winform抓取百度,Google搜索关键词结果
- 数据字典在sga的哪一个组件中缓存_非功能性约束之性能(1)-性能银弹:缓存...
- lnmp python _mysql web_Nginx+uWSGI+DJango+Python+ Mysql 搭建可靠的python web服务器
- sqlserver 数据多行以逗号分隔成一行
- C# Get请求携带body
- 【定位问题】基于matlab RSSI和模拟退火优化粒子群算法求解无线传感器网络定位问题【含Matlab源码 1766期】
- Android布局基础知识
- eyoucms相关问题总结
- 数据结构和算法(Java),上
- Prometheus监控系统
- 程序员去国企面试,跟领导谈完技术感叹:给再多的工资也不考虑
- 戴尔 DELL 游戏笔记本电脑 - Windows 10 关闭或开启功能键 (Fn key)
- 【数据结构】红黑树入门知识
热门文章
- Python零基础入门基础教程(非常详细)
- EduCoder实践课程——Python零基础到精通 参考答案(七)
- [Git]git的一些常用操作笔记
- 计算机毕业设计ssm网上书店商城
- linux下mq qm.ini路径,MQ调优Linux参数检查
- 一文看懂数据清洗:缺失值、异常值和重复值的处理
- 1.02的4次方计算机怎么按,【一〇五二 | 知识】1.02的365次方是1377.4
- 华维单片机编程:仿真软件适合单片机初学者吗
- php7可变参数,7PHP可变变量
- 一款基于VUE的动态化弹出层插件