資源簡介
基于Keras的GRU神經網絡實現 Python編寫 可以直接運行得到結果

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Wed?Aug??2?14:19:58?2017
@author:?璐
“““
#?-*-?coding:?utf-8?-*-
“““
Created?on?Sun?Jul??9?18:07:53?2017
@author:?璐
“““
#?-*-?coding:utf-8?-*-
‘‘‘
We?can?also?phrase?the?problem?so?that?multiple?recent?time?steps?can?be?
used?to?make?the?prediction?for?the?next?time?step.
This?is?called?a?window?and?the?size?of?the?window?
is?a?parameter?that?can?be?tuned?for?each?problem.
For?example?given?the?current?time?(t)?we?want?to?predict?
the?value?at?the?next?time?in?the?sequence?(t+1)?we?can?use?the?current?time?(t)?
as?well?as?the?two?prior?times?(t-1?and?t-2)?as?input?variables.
When?phrased?as?a?regression?problem?the?input?
variables?are?t-2?t-1?t?and?the?output?variable?is?t+1.
The?create_dataset()?function?we?created?in?the?previous?section?allows?
us?to?create?this?formulation?of?the?time?series?problem?
by?increasing?the?look_back?argument?from?1?to?3.d
‘‘‘
#用import或者from?import導入相關模塊;numpy用來存儲和處理大型矩陣
#pandas結構化數據的輸入與輸出
#import?time
import?numpy?as?np
import?pandas?as?pd
import?math
#Sequential多個網絡層的線性堆疊;Dense隱含層
from?keras.models?import?Sequential
from?keras.layers?import?Dense
#from?keras.layers?import?LSTM
#from?keras.layers?import?SimpleRNN
from?keras.layers?import?GRU
from?sklearn.preprocessing?import?MinMaxScaler
from?sklearn.metrics?import?mean_squared_error?mean_absolute_error
#from?sklearn.metrics?import?mean_squared_errormean_absolute_error
#from?keras?import?initializers
#?record?running?time/記錄時間
????
#?convert?an?array?of?values?into?a?dataset?matrix
def?create_dataset(dataset?look_back):
????dataX?dataY?=?[]?[]
????for?i?in?range(len(dataset)-look_back):
????????a?=?dataset[i:(i+look_back)?0]
#append向列表的尾部增加元素
????????dataX.append(a)
????????dataY.append(dataset[i?+?look_back?0])
????return?np.array(dataX)?np.array(dataY)
#?fix?random?seed?for?reproducibility
#seed用于指定隨機數生成時所用算法開始的整數值
np.random.seed(7)
#?load?the?dataset/下載數據集?
#usecols獲取數據的列,如果取前4列,則usecols=(0123)
#print(XXXX)
dataframe?=?pd.read_csv(r‘nn.csv‘?\
?????????????????????usecols=[0]?engine=‘python‘)
dataset?=?dataframe.values
dataset?=?dataset.astype(‘float32‘)
#?normalize?the?dataset/標準化數據集?
scaler?=?MinMaxScaler(feature_range=(0?1))
dataset?=?scaler.fit_transform(dataset)
#?split?into?train?and?test?sets/分割訓練集與測試集?
????#train_size?=?int(len(dataset)?*?0.84)
???????
vsize=18;
train_size?=?len(dataset)-vsize-18;
#print(train_size?)
???#?test_size?=?len(dataset)?-?train_size
look_back?=10
train?test?pred?=?dataset[0:train_size:]?dataset[train_size-look_back:train_size+vsize:]?\
?????????????????????????dataset[train_size+vsize-look_back:len(dataset):]
#?dataset?detail/具體分割后數據集
trainX?trainY?=?create_dataset(train?look_back)
testX?testY?=?create_dataset(test?look_back)
predX?predY?=?create_dataset(pred?look_back)
#?reshape?input?to?be?[samples?feature_num?features]
trainX?=?np.reshape(trainX?(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5450??2019-02-21?20:59??GRU\12.xlsx
?????文件????????6028??2019-02-21?21:00??GRU\GRU.py
?????文件?????????852??2018-01-28?10:26??GRU\nn.csv
?????目錄???????????0??2019-02-21?20:59??GRU\
評論
共有 條評論