Python时间序列LSTM预测系列教程(8)-多变量
来源:互联网 发布:潍柴动力网络测评答案 编辑:程序博客网 时间:2024/05/17 08:31
多变量LSTM预测模型(2)
教程原文链接
前置教程:
Python时间序列LSTM预测系列教程(7)-多变量
LSTM数据预处理
1、转换成有监督数据
用历史的污染数据、天气数据预测当前时刻的污染值
2、数据归一化
# coding=utf-8 from pandas import read_csvfrom pandas import DataFramefrom sklearn.preprocessing import MinMaxScalerfrom pandas import concatfrom sklearn.preprocessing import LabelEncoder #转换成有监督数据def series_to_supervised(data, n_in=1, n_out=1, dropnan=True):#n_in,n_out相当于lag n_vars = 1 if type(data) is list else data.shape[1]#变量个数 df = DataFrame(data) print '带转换数据' print df.head() cols, names = list(), list() #输入序列(t-n. ... , t-1) for i in range(n_in, 0, -1): cols.append(df.shift(i)) print 'shift数据' print cols[0][0:5] names+=[('var%d(t-%d)'%(j+1,i)) for j in range(n_vars)] print 'names数据' print names[0:5] #预测序列(t, t+1, ... , t+n) for i in range(0, n_out): cols.append(df.shift(-i)) if i==0:#t时刻 names+=[('var%d(t)'%(j+1)) for j in range(n_vars)] else: names+=[('var%d(t+%d)'%(j+1,i)) for j in range(n_vars)] #拼接 agg = concat(cols, axis=1) print '拼接' print agg[0:5] agg.columns = names; #将空值NaN行删除 if dropnan: agg.dropna(inplace=True) return agg dataset = read_csv('data_set/air_pollution_new.csv', header=0, index_col=0)values = dataset.values print '原始数据'print values[0:5] #由于4列的风向是标签,编码成整数encoder = LabelEncoder()#简单来说 LabelEncoder 是对不连续的数字或者文本进行编号values[:,4] = encoder.fit_transform(values[:,4])print '标签编码'print values[0:5]#使所有数据是float类型values = values.astype('float32')#数据归一化scaler = MinMaxScaler(feature_range=(0,1))scaled = scaler.fit_transform(values)print '缩放'print scaled[0:5]#变成有监督reframed = series_to_supervised(scaled, 1, 1)print '有监督'print reframed[0:5]#删除不预测的列reframed.drop(reframed.columns[9:16], axis=1, inplace=True)print '删除不预测的列'print(reframed.head())
阅读全文
0 0
- Python时间序列LSTM预测系列教程(8)-多变量
- Python时间序列LSTM预测系列教程(7)-多变量
- Python时间序列LSTM预测系列教程(9)-多变量
- 基于Keras的LSTM多变量时间序列预测
- 教你搭建多变量时间序列预测模型LSTM(附代码、数据集)
- Python时间序列LSTM预测系列教程(10)-多步预测
- Python时间序列LSTM预测系列教程(11)-多步预测
- Python时间序列LSTM预测系列教程(1)-单变量
- Python时间序列LSTM预测系列教程(2)-单变量
- Python时间序列LSTM预测系列教程(3)-单变量
- Python时间序列LSTM预测系列教程(4)-单变量
- Python时间序列LSTM预测系列教程(5)-单变量
- Python时间序列LSTM预测系列教程(6)-单变量
- 代码干货 | 基于Keras的LSTM多变量时间序列预测
- LSTM预测时间序列
- LSTM预测时间序列
- LSTM 时间序列预测 matlab
- Pytorch LSTM 时间序列预测
- i=i++问题
- Android Framework层重启流程
- 《C++ Primer》读书笔记第三章-2-标准库类型vector
- 使用可控硅对市电斩波降压(调光)
- linux系统虚拟机安装
- Python时间序列LSTM预测系列教程(8)-多变量
- Open JDK patched with font fix
- Linux系统编程——进程的控制:结束进程、等待进程结束
- BZOJ3572: [Hnoi2014]世界树(虚树)
- C语言实现的数字闹钟
- Easyui的DateBox控件和DateTimeBox控件
- 用Eclipse构建Spark源代码调试阅读环境
- 关于activiti驳回等功能的封装
- Stm 32 IAP 在线 升级IAP 的 操作