資源簡介
LSTM多變量預測,本程序利用TensorFlow構建一個簡易LSTM模型,內含對多個變量因子,以及本程序的運行環境。

代碼片段和文件信息
import?warnings
from?sklearn?import?preprocessing
from?sklearn.utils?import?shuffle
import?tensorflow?as?tf
import?numpy?as?np
import?pandas?as?pd
from?sklearn.model_selection?import?train_test_split?KFold
warnings.filterwarnings(‘ignore‘)
dataset?=?pd.read_csv(r‘PCA.csv‘)
BATCH_START?=?0??#?建立?batch?data?時候的?index
TIME_STEPS?=?10??#?backpropagation?through?time?的?time_steps
BATCH_SIZE?=?10
INPUT_SIZE?=?9??#?sin?數據輸入?size
OUTPUT_SIZE?=?1??#?cos?數據輸出?size
CELL_SIZE?=?10??#?RNN?的?hidden?unit?size
LR?=?0.006??#?learning?rate
class?LSTMRNN(object):
????def?__init__(self?n_steps?input_size?output_size?cell_size?batch_size):
????????‘‘‘
????????:param?n_steps:?每批數據總包含多少時間刻度
????????:param?input_size:?輸入數據的維度
????????:param?output_size:?輸出數據的維度
????????:param?cell_size:?cell的大小
????????:param?batch_size:?每批次訓練數據的數量
????????‘‘‘
????????self.n_steps?=?n_steps
????????self.input_size?=?input_size
????????self.output_size?=?output_size
????????self.cell_size?=?cell_size
????????self.batch_size?=?batch_size
????????with?tf.name_scope(‘inputs‘):
????????????self.xs?=?tf.placeholder(tf.float32?[None?n_steps?input_size]?name=‘xs‘)??#?xs?有三個維度
????????????self.ys?=?tf.placeholder(tf.float32?[None?n_steps?output_size]?name=‘ys‘)??#?ys?有三個維度
????????with?tf.variable_scope(‘in_hidden‘):
????????????self.add_input_layer()
????????with?tf.variable_scope(‘LSTM_cell‘):
????????????self.add_cell()
????????with?tf.variable_scope(‘out_hidden‘):
????????????self.add_output_layer()
????????with?tf.name_scope(‘cost‘):
????????????self.compute_cost()
????????with?tf.name_scope(‘train‘):
????????????self.train_op?=?tf.train.AdamOptimizer(LR).minimize(self.cost)
????????with?tf.name_scope(‘std‘):
????????????self.standard_var()
????#?增加一個輸入層
????def?add_input_layer(self?):
????????l_in_x?=?tf.reshape(self.xs?[-1?self.input_size]?name=‘2_2D‘)??#?-1?表示任意行數
????????Ws_in?=?self._weight_variable([self.input_size?self.cell_size])
????????bs_in?=?self._bias_variable([self.cell_size?])
????????with?tf.name_scope(‘Wx_plus_b‘):
????????????l_in_y?=?tf.matmul(l_in_x?Ws_in)?+?bs_in
????????self.l_in_y?=?tf.reshape(l_in_y?[-1?self.n_steps?self.cell_size]?name=‘2_3D‘)
????#?多時刻的狀態疊加層
????def?add_cell(self):
????????#?lstm_cell?=?tf.nn.rnn_cell.BasicLSTMCell(self.cell_size?forget_bias=1.0?state_is_tuple=True)
????????#?lstm_cell?=?tf.nn.rnn_cell.BasicLSTMCell(self.cell_size?forget_bias=1.0?state_is_tuple=True
????????#??????????????????????????????????????????????????activation=tf.nn.relu)
????????#?lstm_cell?=?tf.nn.rnn_cell.BasicLSTMCell(self.cell_size?forget_bias=1.0?state_is_tuple=True
????????#??????????????????????????????????????????activation=tf.nn.softsign)
????????#?lstm_cell?=?tf.nn.rnn_cell.BasicLSTMCell(self.cell_size?forget_bias=1.0?state_is_tuple=True
????????#??????????????????????????????????????????activation=tf.nn.softplus)
????????#?lstm_cell?=?tf.nn.rnn_cell.BasicLSTMCell(self.cell_size?forget_bias=1.0?state_is_tuple=True
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-09-24?07:29??LSTM\
?????目錄???????????0??2019-09-24?07:33??LSTM\LSTM\
?????目錄???????????0??2019-05-25?18:55??LSTM\LSTM\.idea\
?????文件?????????592??2019-05-24?09:45??LSTM\LSTM\.idea\LSTM.iml
?????文件?????????309??2019-05-24?09:45??LSTM\LSTM\.idea\misc.xm
?????文件?????????267??2019-05-23?17:38??LSTM\LSTM\.idea\modules.xm
?????文件????????8887??2019-05-25?18:55??LSTM\LSTM\.idea\workspace.xm
?????目錄???????????0??2019-05-24?10:49??LSTM\LSTM\logs\
?????文件?????1999747??2019-05-23?20:49??LSTM\LSTM\logs\events.out.tfevents.1558615324.MEMPHIS
?????文件??????304713??2019-05-23?21:14??LSTM\LSTM\logs\events.out.tfevents.1558617243.MEMPHIS
?????文件??????297103??2019-05-23?21:20??LSTM\LSTM\logs\events.out.tfevents.1558617599.MEMPHIS
?????文件??????297645??2019-05-23?21:31??LSTM\LSTM\logs\events.out.tfevents.1558618300.MEMPHIS
?????文件??????297645??2019-05-23?21:32??LSTM\LSTM\logs\events.out.tfevents.1558618322.MEMPHIS
?????文件??????290639??2019-05-23?21:35??LSTM\LSTM\logs\events.out.tfevents.1558618550.MEMPHIS
?????文件??????313713??2019-05-23?22:16??LSTM\LSTM\logs\events.out.tfevents.1558620975.MEMPHIS
?????文件??????313543??2019-05-23?22:21??LSTM\LSTM\logs\events.out.tfevents.1558621259.MEMPHIS
?????文件?????2498563??2019-05-23?22:59??LSTM\LSTM\logs\events.out.tfevents.1558623095.MEMPHIS
?????文件?????2498563??2019-05-23?23:14??LSTM\LSTM\logs\events.out.tfevents.1558623920.MEMPHIS
?????文件?????2498688??2019-05-23?23:27??LSTM\LSTM\logs\events.out.tfevents.1558624612.MEMPHIS
?????文件?????2498688??2019-05-23?23:42??LSTM\LSTM\logs\events.out.tfevents.1558625371.MEMPHIS
?????文件?????2498688??2019-05-23?23:42??LSTM\LSTM\logs\events.out.tfevents.1558625372.MEMPHIS
?????文件?????2507384??2019-05-23?23:42??LSTM\LSTM\logs\events.out.tfevents.1558625376.MEMPHIS
?????文件?????2507384??2019-05-24?00:06??LSTM\LSTM\logs\events.out.tfevents.1558626851.MEMPHIS
?????文件?????2507384??2019-05-24?00:21??LSTM\LSTM\logs\events.out.tfevents.1558627757.MEMPHIS
?????文件??????311239??2019-05-24?10:27??LSTM\LSTM\logs\events.out.tfevents.1558664809.MEMPHIS
?????文件??????311239??2019-05-24?10:27??LSTM\LSTM\logs\events.out.tfevents.1558664861.MEMPHIS
?????文件??????311294??2019-05-24?10:29??LSTM\LSTM\logs\events.out.tfevents.1558664944.MEMPHIS
?????文件?????1169624??2019-05-24?10:32??LSTM\LSTM\logs\events.out.tfevents.1558665031.MEMPHIS
?????文件?????1169624??2019-05-24?10:52??LSTM\LSTM\logs\events.out.tfevents.1558666127.MEMPHIS
?????文件?????1169624??2019-05-24?10:52??LSTM\LSTM\logs\events.out.tfevents.1558666151.MEMPHIS
?????文件?????1169624??2019-05-24?10:53??LSTM\LSTM\logs\events.out.tfevents.1558666172.MEMPHIS
............此處省略2個文件信息
評論
共有 條評論