代码分为数据读取、预处理、建模、训练、预测(测试集预测,未来连续预测)、结果展示(此代码是以单属性数据集为例)
数据集:https://download.csdn.net/download/chaochaopang0/10405315
# -*- coding: utf-8 -*-
"""
Created on Tue May 8 14:28:43 2018
@author: lichao_lc
"""
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from keras.layers.core import Dense, Activation, Dropout
from keras.models import Sequential
import time
import math
from keras.layers import LSTM
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
from keras import optimizers
import os
def create_dataset(dataset, look_back):
dataX, dataY = [], []
for i in range(len(dataset)-look_back):
a = dataset[i:(i+look_back), 0]
dataX.append(a)
dataY.append(dataset[i + look_back, 0])
return np.array(dataX), np.array(dataY)
#####当激活函数为 sigmoid 或者 tanh 时,要把数据正则话,此时 LSTM 比较敏感 设定 99.2% 是训练数据,余下的是测试数据
def create_train_test_data(dataset,look_back ):
############正则化