Python时间序列LSTM预测系列教程(1)-单变量

本教程聚焦单变量LSTM模型预测,通过分析香皂销售数据,讲解从数据下载、处理到源码解析的全过程。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

单变量LSTM预测模型(1)


教程原文连接


香皂销售预测


数据下载



数据处理


1、删除数据中最下面的说明行
2、最好修改第一列(时间信息)的格式为 yyyy/mm/dd,否则按照默认格式,在 datetime.strptime() 的时候容易出错

源码解析


from pandas import read_csv
from pandas import datetime 
from sklearn.metrics import mean_squared_error
from math import sqrt
from matplotlib import pyplot
 
#load data
def parser(x):
    return datetime.strptime(x, '%Y/%m/%d')
series = read_csv('data_set/shampoo-sales.csv', header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)
 
#分成训练和测试集合   
X = series.values
train, test = X[0:-12], X[-12:]
 
'''
步进验证模型:
其实相当于已经用train训练好了模型
之后每一次添加一个测试数据进来
1、训练模型
2、预测一次,并保存预测结构,用于之后的验证
3、加入的测试数据作为下一次迭代的训练数据
'''
history = [x for x in train]
predictions = list()
for i in range(len(test)):
    predictions.append(history[-1])#history[-1],就是执行预测
    history.append(test[i])#将新的测试数据加入模型
   
#预测效果评估
rmse = sqrt(mean_squared_error(test, predictions))
print('RMSE:%.3f'%rmse)
 
#画出预测+观测值
pyplot.plot(test)
pyplot.plot(predictions)
pyplot.show()






您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值