【深度学习实践(三)】RNN实现股票预测

简介: 【深度学习实践(三)】RNN实现股票预测

👉引言💎


铭记于心
🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 热爱写作,愿意让自己成为更好的人............


【深度学习实践(三)】RNN实现股票预测


1 RNN是什么


1.1 RNN的基本概念


RNN是一个不断循环的神经网络,它在循环的过程当中是具有记忆性的,可以根据前面的输入状态循环对模型进行适当的调整

  • 比如时序神经网络:
    处理“具有时序关系的输入序列”。也就是说,一个输入对应的输出,还取决于其“上文”的应用场合,如文字分类,自然语言处理 *image.png


1.2 RNN的应用场景


RNN循环神经网络的应用范围非常广泛,举出部分例子:

  • Many To One
  • 情感分析。输入一段评论,输出该段评论是好评还是差评。
  • 关键信息提取。输入一篇文章,输出该文章中的关键信息。
  • Many To Many
  • 语音识别。输入一段语音,输出对应的文字。
  • 语言翻译。输入一段某国的文字或语音,输出一段另一个国家的对应意思的文字或语音。
  • 聊天机器人。输入一句话,输出回答。
  • 其他
  • 句子文法结果分析。输入一个句子,输出该句子的文法结构。
  • 句子自编码


2 前期准备


  • 设置GPU
    (模型的训练通常需要加工处理大量数据,这时候GPU的强大算力就体现出来了,一块好的GPU就像一个好鼎,就能练出来更好的丹药)这里使用TensorFlow深度学习框架,故使用以下方法进行GPU的配置
import tensorflow as tf
gpus = tf.config.list_physical_devices("GPU")
  • 数据预处理将加载好的数据进行预处理
  • 加载数据,将数据集加载到内存中
  • 用平均值或者0代替空值,奇异值;
  • 归一化,消去量纲影响等


3 模型训练与预测


  • 神经网络程序大概分为如下几个步骤:
  1. 选择模型
  2. 构建网络层
  3. 编译
  4. 训练
  5. 预测


3.1 构建模型


model = tf.keras.Sequential([
    SimpleRNN(100, return_sequences=True), #布尔值。是返回输出序列中的最后一个输出,还是全部序列。
    Dropout(0.1),                         #防止过拟合
    SimpleRNN(100),
    Dropout(0.1),
    Dense(1)
])


3.2 激活模型


model.compile(optimizer=tf.keras.optimizers.Adam(0.001),
              loss='mean_squared_error')  # 损失函数用均方误差


3.3 训练模型


history = model.fit(x_train, y_train, 
                    batch_size=64, 
                    epochs=20, 
                    validation_data=(x_test, y_test), 
                    validation_freq=1)      
model.summary()

image.png


  • 预测


predicted_stock_price = model.predict(x_test)                       
predicted_stock_price = sc.inverse_transform(predicted_stock_price) 
real_stock_price = sc.inverse_transform(test_set[60:])  

image.png


  • 评估


"""
MSE  :均方误差    ----->  预测值减真实值求平方后求均值
RMSE :均方根误差  ----->  对均方误差开方
MAE  :平均绝对误差----->  预测值减真实值求绝对值后求均值
R2   :决定系数,可以简单理解为反映模型拟合优度的重要的统计量
详细介绍可以参考文章:https://blog.csdn.net/qq_38251616/article/details/107997435
"""
MSE   = metrics.mean_squared_error(predicted_stock_price, real_stock_price)
RMSE  = metrics.mean_squared_error(predicted_stock_price, real_stock_price)**0.5
MAE   = metrics.mean_absolute_error(predicted_stock_price, real_stock_price)
R2    = metrics.r2_score(predicted_stock_price, real_stock_price)
print('均方误差: %.5f' % MSE)
print('均方根误差: %.5f' % RMSE)
print('平均绝对误差: %.5f' % MAE)
print('R2: %.5f' % R2)

🌹写在最后💖

路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
223 1
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
从零开始学习深度学习:入门指南与实践建议
本文将引导读者进入深度学习领域的大门,从基础概念到实际应用,为初学者提供全面的学习指南和实践建议。通过系统化的学习路径规划和案例实践,帮助读者快速掌握深度学习的核心知识和技能,迈出在人工智能领域的第一步。
|
1月前
|
机器学习/深度学习 Python
有没有一些开源的深度学习项目可以帮助我实践所学的知识?
【2月更文挑战第14天】【2月更文挑战第40篇】有没有一些开源的深度学习项目可以帮助我实践所学的知识?
|
2月前
|
机器学习/深度学习 人工智能 算法
【深度学习】因果推断与机器学习的高级实践 | 数学建模
【深度学习】因果推断与机器学习的高级实践 | 数学建模
|
4月前
|
机器学习/深度学习 人工智能 算法
深度学习及CNN、RNN、GAN等神经网络简介(图文解释 超详细)
深度学习及CNN、RNN、GAN等神经网络简介(图文解释 超详细)
173 1
|
4月前
|
机器学习/深度学习 自然语言处理 Python
【Python深度学习】循环神经网络RNN中文分词实战(附源码)
【Python深度学习】循环神经网络RNN中文分词实战(附源码)
67 0
|
4月前
|
机器学习/深度学习 自然语言处理 TensorFlow
【Python深度学习】RNN循环神经网络结构讲解及序列回归问题实战(图文解释 附源码)
【Python深度学习】RNN循环神经网络结构讲解及序列回归问题实战(图文解释 附源码)
46 0
|
4月前
|
机器学习/深度学习 存储 自然语言处理
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
114 0
|
18天前
|
机器学习/深度学习 人工智能 算法
基于AidLux的工业视觉少样本缺陷检测实战应用---深度学习分割模型UNET的实践部署
  工业视觉在生产和制造中扮演着关键角色,而缺陷检测则是确保产品质量和生产效率的重要环节。工业视觉的前景与发展在于其在生产制造领域的关键作用,尤其是在少样本缺陷检测方面,借助AidLux技术和深度学习分割模型UNET的实践应用,深度学习分割模型UNET的实践部署变得至关重要。
61 1
|
7月前
|
机器学习/深度学习 自然语言处理
深度学习LSTM网络:自然语言处理实践
深度学习LSTM网络:自然语言处理实践
46 0

热门文章

最新文章