1.tensorflow中的seq2seq
在tensorflow中有两套seq2seq的接口。一套是tensorflow1.0版本之前的旧接口,在tf.contrib.legacy_seq2seq下;另一套为tensorflow1.0版本之后推出的新接口,在tf.contrib.seq2seq下。本文使用的是seq2seq的旧接口,旧接口的功能相对简单,是静态的展开模式,新接口功能更加强大,使用的是动态展开网络模型。想要了解新接口的使用情况,推荐这个网址https://blog.csdn.net/thriving_fcl/article/details/74165062
2.实力描述
使用seq2seq模式对某个股票前段时间的数据训练学习,拟合特征,从而达到第二天预测股票价格的效果。
3.导入股票数据
首先得准备一个股票数据,本人使用的是参考书中所提供的数据,想要数据集的可以在私信我。
添加股票载入函数loadstock,实例中将收盘价格载入内存做样本生成。
import random
import math
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
pd.options.mode.chained_assignment = None # default='warn'
def loadstock(window_size):
names = ['date',
'code',
'name',
'Close',
'top_price',
'low_price',
'opening_price',
'bef_price',
'floor_price',
'floor',
'exchange',
'Volume',
'amount',
'总市值',
'流通市值']
data = pd.read_csv('600000.csv', names=names, header=None,encoding = "gbk")
#predictor_names = ["Close",'top_price',"low_price","opening_price"]
predictor_names = ["Close"]
training_features = np.asarray(data[predictor_names], dtype = "float32")
kept_values = training_features[1000:]
X = []
Y = []
for i in range(len(kept_values) - window_size * 2):# x ;前window_size,y后window_size
X.append(kept_values[i:i + window_size])
Y.append(kept_values[i +