计算机毕业设计之基于tensorflow-lstm的股票爬虫+预测及可视化

1 简介

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、编程领域优质创作者,博客之星、各平台优质作者、专注于Java,python等技术领域和毕业项目实战✌

🍅文末获取源码联系🍅
计算机毕业设计之基于tensorflow-lstm的股票爬虫+预测及可视化

2 设计概要

本章基于深度学习算法来处理时间序列,来预测股票未来的价格。LSTM是一种特殊类型的循环神经网络(RNN),在自然语言处理和时间序列数据分析等任务中取得了显著成果。LSTM通过处理序列数据中的长期依赖关系,能够更好地捕捉时间序列数据的特征和模式。这使得它成为预测股票价格这类时间相关数据的有力工具。关于LSTM 在之前的文章中也略作介绍。
n_past是我们在预测下一个目标值时将在过去查看的步骤数。
这里使用30,意味着将使用过去的30个值(包括目标列在内的所有特性)来预测第31个目标值。
因此,在trainX中我们会有所有的特征值,而在trainY中我们只有目标值。
让我们分解for循环的每一部分
对于训练,dataset = df_for_training_scaled, n_past=30
当i= 30:
data_X.addend (df_for_training_scaled[i - n_past:i, 0:df_for_training.shape[1]])
从n_past开始的范围是30,所以第一次数据范围将是-[30 - 30,30,0:6] 相当于 [0:30,0:6]
因此在dataX列表中,df_for_training_scaled[0:30,0:6]数组将第一次出现。
现在, dataY.append(df_for_training_scaled[i,3])

i = 30,所以它将只取第30行开始的close(因为在预测中,我们只需要close列,所以列范围仅为3,表示close列)。
第一次在dataY列表中存储df_for_training_scaled[30,3]值。
所以包含5列的前30行存储在dataX中,只有close列的第31行存储在dataY中。然后我们将dataX和dataY列表转换为数组,它们以数组格式在LSTM中进行训练。

将数据集拆分为训练集、验证集和测试集。由于这个数据集是时间序列,以2023年前的数据作为训练集,之后数据为验证集。

3 系统关键技术

具体请直接咨询,以回复为准,使用Java,python,springboot,vue,mysql, mybaties, typescript, html ,css, js 等进行开发

4 开发工具

开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。

5 代码展示

def createXY(dataset,n_past):
    j=0
    dataX = []
    dataY = []
    for i in range(n_past, len(dataset)):       
        x=dataset[i - n_past:i, 0:dataset.shape[1]]
        if (i+n_past>=len(dataset)):
            y=0
        else:
            y=dataset[i-1+n_past,3]
        dataX.append(x) 
        dataY.append(y)    
    return np.array(dataX),np.array(dataY) 
dataX,dataY=createXY(df_scaled,30)

6 系统功能描述

项目功能演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7 最后

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值