[人工智能学习日志]深度学习-股票价格预测案例1

这篇博客详细介绍了如何使用深度学习进行股票价格预测,包括数据预处理、同步预测(回归问题)和异步预测(LSTM模型)。作者通过实例展示了在TensorFlow 1.x中构建多层感知机和LSTM模型,探讨了特征数量对预测效果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自股票价格预测bilibili课程。
源自jupyter notebook文件main.ipynb。
代码用tf1书写,使用tf2会因为版本不对应而报错,tf2版本的代码后续再研究

1、数据初步处理

- 导入库
import pandas as pd
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
%matplotlib inline		#可以matplotlib的图表直接嵌入到Notebook之中
from sklearn.preprocessing import MinMaxScaler
import time
- 导入数据库
data = pd.read_csv('data_stocks.csv')
- 一些数据处理的指令
data.describe() #对列数据进行分析(如平均值,最大值等)
data.info() #显示数据集类型
- 数据集分割
data.drop('DATE', axis=1, inplace=True)#把日期行舍去
data_train = data.iloc[:int(data.shape[0] * 0.8), :] #前80%为训练集
data_test = data.iloc[int(data.shape[0] * 0.8):, :] #后20%为测试集
- 归一化处理数据
scaler = MinMaxScaler(feature_range=(-1, 1)) #缩放到-1到1之间
scaler.fit(data_train) #fit:计算出最大值和最小值
data_train = scaler.transform(data_train) #归一化处理
data_test = scaler.transform(data_test)

2、同步预测-回归

属于回归问题,即输入共500维特征,输出1维特征;同步预测,主要使用多层感知机(MLP),损失函数用均方误差(MSE)。

- 划分特征和标签
X_train = data_train[:, 1:] #特征
y_train = data_train[:, 0] #标签
X_test = data_test[:, 1:]
y_test = data_test[:, 0]
- 结构定义
input_dim = X_train.shape[1] #输入维数
hidden_1 = 1024 #隐藏层层数
hidden_2 = 512
hidden_3 = 256
hidden_4 = 128
output_dim = 1 #输出维度
batch_size = 256 #批数据的大小
epochs = 10

将代码reset一下,避免块反复调用引起错误

tf.reset_default_graph()
- 模型构建
X = tf.placeholder(shape=[None, input_dim], dtype=tf.float32) #shape是设置维数
Y = tf.placeholder(shape=[None], dtype=tf.float32)
# 模型的参数设置
W1 = tf.get_variable('W1', [input_dim, hidden_1], initializer=tf.contrib.layers.xavier_initializer(seed=1))
b1 = tf.get_variable('b1', [hidden_1], initializer=tf.zeros_initializer())
W2 = tf.get_variable('W2', [hidden_1, hidden_2], initializer=tf.contrib.layers.xavier_initializer(seed=1))
b2 = tf.get_variable('b2', [hidden_2<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值