首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用LSTM模型预测股价基于Keras

股票市场的数据由于格式规整和非常容易获得,是作为研究的很好选择。但不要把本文的结论当作理财或交易建议。 本文将通过构建用Python编写的深度学习模型来预测未来股价走势。...虽然预测股票的实际价格非常难,但我们可以建立模型来预测股票价格是上涨还是下跌。本文使用的数据可以在https://github.com/mwitiderrick/stockprice下载。...的一些模型来构建LSTM 1、顺序初始化神经网络 2、添加一个紧密连接的神经网络层 3、添加长短时记忆层(LSTM) 4、添加dropout层防止过拟合 from keras.models import...1:2].values 为了预测未来的股票价格,我们需要在测试集加载后做如下几个工作: 1、在0轴上合并训练集和测试集 2、将时间步长设置为60(如前面所介绍的) 3、使用MinMaxScaler函数转换新数据集...结论 预测股价的方法还有很多,比如移动平均线、线性回归、k近邻、ARIMA和Prophet。读者可以自行测试这些方法的准确率,并与Keras LSTM的测试结果进行比较。

4.1K20

保存并加载您的Keras深度学习模型

Keras是一个用于深度学习的简单而强大的Python库。 鉴于深度学习模式可能需要数小时、数天甚至数周的时间来培训,了解如何保存并将其从磁盘中加载是很重要的。...在本文中,您将发现如何将Keras模型保存到文件中,并再次加载它们来进行预测。 让我们开始吧。 2017/03更新:添加了首先安装h5py的说明。...Keras提供了使用带有to_json()函数的JSON格式它有描述任何模型的功能。它可以保存到文件中,然后通过从JSON参数创建的新模型model_from_json()函数加载。...在使用加载的模型之前,必须先编译它。这样,使用该模型进行的预测可以使用Keras后端的适当而有效的计算。 该模型以相同的方式进行评估,打印相同的评估分数。...你了解了如何将训练的模型保存到文件中,然后将它们加载并使用它们进行预测。 你还了解到,模型权重很容易使用HDF5格式存储,而网络结构可以以JSON或YAML格式保存。

2.9K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Keras学习笔记(七)——如何保存、加载Keras模型?如何单独保存加载权重、结构?

    一、如何保存 Keras 模型? 1.保存/加载整个模型(结构 + 权重 + 优化器状态) 不建议使用 pickle 或 cPickle 来保存 Keras 模型。...你可以使用 model.save(filepath) 将 Keras 模型保存到单个 HDF5 文件中,该文件将包含: 模型的结构,允许重新创建模型 模型的权重 训练配置项(损失函数,优化器) 优化器状态...只保存/加载模型的权重 如果您只需要 模型的权重,可以使用下面的代码以 HDF5 格式进行保存。 请注意,我们首先需要安装 HDF5 和 Python 库 h5py,它们不包含在 Keras 中。...my_model_weights.h5') 如果你需要将权重加载到不同的结构(有一些共同层)的模型中,例如微调或迁移学习,则可以按层的名字来加载权重: model.load_weights('my_model_weights.h5...处理已保存模型中的自定义层(或其他自定义对象) 如果要加载的模型包含自定义层或其他自定义类或函数,则可以通过 custom_objects 参数将它们传递给加载机制: from keras.models

    5.9K50

    预测金融时间序列——Keras 中的 MLP 模型

    让我们加载这些数据,看看是什么样子。...神经网络架构 我们将使用多层感知器作为基本模型。让我们把Keras作为一个实现框架——它非常简单、直观,你可以用它来实现相当复杂的计算图,但到目前为止我们还不需要它。...在输出端,我们放置一个神经元(或两个用于分类),根据任务(分类或回归),它要么在输出端有一个 softmax,要么让它没有非线性,以便能够预测任何值。...Keras 还允许我们非常灵活地控制训练过程,例如,如果我们的结果没有改善,最好减少梯度下降步骤的值——这正是 Reduce LR On Plateau 所做的,我们将其添加为回调到模型训练。...预测金融时间序列 - 分类问题 让我们训练我们的第一个模型并查看图表: 可以看到,测试样本的准确率一直保持在±1值的误差,训练样本的误差下降,准确率增加,说明过拟合了。

    5.4K51

    基于Keras的房价预测

    预测房价:回归问题 回归问题预测结果为连续值,而不是离散的类别。 波士顿房价数据集 通过20世纪70年代波士顿郊区房价数据集,预测平均房价;数据集的特征包括犯罪率、税率等信息。...加载数据集 from keras.datasets import boston_housing (train_data,train_targets),(test_data,test_targets)...一种常见的数据处理方法是特征归一化normalization---减均值除以标准差;数据0中心化,方差为1. mean = train_data.mean(axis=0) train_data -= mean...,没有激活函数--相当于一个线性层。...这种处理方法常用在单标量回归问题中。使用激活函数将会限制输出结果的范围,比如使用sigmoid激活函数,输出结果在0~1之间。这里,因为最后一层只是一个线性层,模型的输出结果可能是任意值。

    1.8K30

    TensorFlow 加载多个模型的方法

    采用 TensorFlow 的时候,有时候我们需要加载的不止是一个模型,那么如何加载多个模型呢?...如果使用加载单个模型的方式去加载多个模型,那么就会出现变量冲突的错误,也无法工作。这个问题的原因是因为一个默认图的缘故。冲突的发生是因为我们将所有变量都加载到当前会话采用的默认图中。...因此,如果我们希望加载多个模型,那么我们需要做的就是把他们加载在不同的图,然后在不同会话中使用它们。 这里,自定义一个类来完成加载指定路径的模型到一个局部图的操作。...,加载多个模型并不是一件困难的事情。...上述的解决方法可能不是完美的,但是它简单且快速。

    2.7K50

    【Keras篇】---Keras初始,两种模型构造方法,利用keras实现手写数字体识别

    一、前述 Keras 适合快速体验 ,keras的设计是把大量内部运算都隐藏了,用户始终可以用theano或tensorflow的语句来写扩展功能并和keras结合使用。...二、安装 Pip install --upgrade keras 三、Keras模型之序列模型 序列模型属于通用模型的一种,因为很常见,所以这里单独列出来进行介绍,这种模型各层之间是依次顺序的线性关系,...四、Keras模型之通用模型  通用模型可以用来设计非常复杂、任意拓扑结构的神经网络,例如有向无环图网络类似于序列模型,通用模型通过函数化的应用接口来定义模型使用函数化的应用接口有好多好处,比如:决定函数执行结果的唯一要素是其返回值... 代码: # 通用模型 # 通用模型可以用来设计非常复杂、任意拓扑结构的神经网络,例如有向无环图网络 # 类似于序列模型,通用模型通过函数化的应用接口来定义模型 # 使用函数化的应用接口有好多好处,比如...# 将输入层和输出层作为参数纳入通用模型中就可以定义一个模型对象 from keras.layers import Input from keras.layers import Dense from

    1.1K20

    理解keras中的sequential模型

    keras中的主要数据结构是model(模型),它提供定义完整计算图的方法。通过将图层添加到现有模型/计算图,我们可以构建出复杂的神经网络。...Keras有两种不同的构建模型的方法: Sequential models Functional API 本文将要讨论的就是keras中的Sequential模型。...在keras中,Sequential模型的compile方法用来完成这一操作。例如,在下面的这一行代码中,我们使用’rmsprop’优化器,损失函数为’binary_crossentropy’。...其中批次大小、迭代次数需要根据数据规模来确定,并没有一个固定的最优值。...我们可以尝试修改迭代次数,看看不同迭代次数下得到的权重值。 这段例子仅仅作为一个简单的示例,所以没有做模型评估,有兴趣的同学可以构建测试数据自己尝试一下。

    3.6K50

    基于keras的波士顿房价预测

    尽管网络模型能适应数据的多样性,但是相应的学习过程变得非常困难。...一种常见的数据处理方法是特征归一化normalization—减均值除以标准差;数据0中心化,方差为1. mean = train_data.mean(axis=0) train_data -= mean...,没有激活函数–相当于一个线性层。...这种处理方法常用在单标量回归问题中。使用激活函数将会限制输出结果的范围,比如使用sigmoid激活函数,输出结果在0~1之间。这里,因为最后一层只是一个线性层,模型的输出结果可能是任意值。...最好的评估方式是采用K折交叉验证–将数据集分成K份(K=4或5),实例化K个模型,每个模型在K-1份数据上进行训练,在1份数据上进行评估,最后用K次评估分数的平均值做最后的评估结果。

    71340

    【DS】利用Keras长短期记忆(LSTM)模型预测股票价格

    编者按:本教程演示了如何开始使用LSTM模型预测时间序列。股票市场数据是一个很好的选择,因为它是相当常规的和广泛地提供给每个人。请不要把这当作理财建议,也不要用它来做你自己的交易。...在本教程中,我们将构建一个Python深度学习模型,用于预测股票价格的未来行为。我们假设读者熟悉Python中的深度学习概念,特别是LSTM。...虽然预测股票的实际价格是一个上坡路,但是我们可以建立一个模型来预测股票的价格是涨是跌。本教程使用的数据和notebook可以在这里找到。需要注意的是,影响股价的因素总是存在的,比如政治氛围和市场。...从图中我们可以看到,股票的实际价格上升了,而我们的模型也预测了股票的价格会上升。这清楚地显示了LSTMs在分析时间序列和顺序数据方面的强大功能。...总结 有一些其他的技术来预测股票价格,如移动平均线,线性回归,k近邻,ARIMA和Prophet。这些技术可以单独测试,并与Keras LSTM进行性能比较。

    3.3K81

    Keras中的多变量时间序列预测-LSTMs

    这在时间预测问题中非常有用,而经典线性方法难以应对多变量预测问题。 在本教程中,您将了解如何在Keras深度学习库中,为多变量时间序列预测开发LSTM模型。...学习该教程后,您将收获: 如何将原始数据集转换为可用于时间序列预测的数据集; 如何准备数据,并使LSTM模型适用于多变量时间序列预测问题; 如何做预测,并将预测的结果重新调整为原始数据单位。...定义和拟合模型 这一部分,我们将会在多变量输入数据上拟合LSTM模型。 第一步,分割训练集和测试集。为了加快这个演示模型的训练,我们仅仅在第1年数据上拟合模型,然后在剩余4年的数据上对其进行评估。...评估模型 拟合模型后,开始预测测试集。 将预测结果与测试集结合起来,并反转缩放。还将测试集真实的污染结果数据和测试集结合起来,进行反转缩放。...通过对比原始比例的预测值和实际值,我们可以计算模型的误差分数,这里计算误差用均方根误差。

    3.2K41

    数学建模~~~预测方法--决策树模型

    0.直击重点 这个文章,我们从三个维度进行说明介绍: 第一维度:介绍基本的概念,以及这个决策树的分类和相关的这个算法和基尼系数的计算方法,通过给定这个用户的数据预测这个用户是否会离职; 第二维度:增加数据量...,通过语言评价(低,高,中)转换为真实的数据0,1,2,来评估这个用户离职的概率,通过分类准确率函数评估这个预测成功的样本数量和score函数预测这个准确率 第三维度:我们通过调优参数对于这个模型进行了改进...,介绍了这个命中率和误判率的概念和基于这两者绘制的ROC曲线和AUC数值,有两个方法: 一个就是把这个参数全部传递进去,使用best_search属性去确定这个最优解; 另一个就是进行循环,格式化输出所有的...AUC数值,进行比较得出来这个最优的解; 两个结果的方法可以进行验证,证明我们的模型的准确性~~~ 1.决策树概念 决策树里面学习的这个根节点,内部节点和这个叶节点类似于我们的数据结构里面学习的这个二叉树的结构...就是保证这个过程的随机状态,没有其他的意义,这个1可以是其他的任何数字; fit函数的两个参数就是x,y变量进行模型的训练; predict函数的参数就是对应的自变量和因变量,并对于这个结果进行预测;

    4610

    如何利用市场细分方法构建更好的预测模型?

    为了回答这个问题,我们需要找到一个测试方法,可以从建模的角度评价一个市场细分。 为了建立单独的模型和评价一个市场细分计划的最有效的方法是提升预测能力,它可以通过建立市场细分模型实现。...这种情况下,应该开发下面这些市场细分模型(子模型) 逻辑模型3-1:预测“过去12个月没有购物”的市场细分反应 逻辑模型3-2:预测“过去12个月至少购物两次”的市场细分反应 逻辑模型3-3:预测“过去...12个月购物2次以上和没有提交过产品评价”的市场细分反应 逻辑模型3-4:预测“过去12个月购物至少2次以上以及提交产品评价至少一次以上”的市场细分反应 子模型的变量已经在表5描述。...蓝色:模型3-1过去12个月没有购买记录 红色:模型3-2过去12个月至少两次购买记录 绿色:模型3-3过去12个月多于2次购买记录,没有提交产品评价 紫色:模型3-4过去12个月多于2次购买记录,至少一次提交产品评价...换句话来说,这意味着,在市场细分变量和预测变量“过去18个月没有不同的购买项目”之间有着显著的相互作用。 因此,市场细分期望在预测能力中产生最佳提升。

    1.4K70

    没有外部验证的预测模型为什么也可以发6分+SCI?

    5.验证预后风险特征模型 为了评估这两种风险模型的预后预测能力,本文同时使用了训练,测试和整体数据集进行分析。...结果表明,该预后预测模型可以作为EOC患者OS / DFS的独立预后指标。 ? 图3 OS预测模型的KM分析、风险评分分析和ROC分析 ?...图4 DFS预测模型的KM分析、风险评分分析和ROC分析 6. 预测列线图的构建 本文建立了列线图来预测患者的OS,该OS具有三个独立的预后因素,包括年龄,阶段,等级和风险评分(图5A)。...1年、3年和5年OS列线图的AUC为0.70、0.653、0.723(图6A-C)。与单一临床因素相比,组合模型预测的1年、3年和5年OS具有最大AUC,这可能有助于预测患者的临床预后情况。 ?...但是,将当下比较火热的免疫疗法与功能分析关联了起来是文章的一个亮点,也是其能发在没有外部验证数据的情况下发较高分文章的原因。

    2.6K62

    Keras中创建LSTM模型的步骤

    在这篇文章中,您将了解创建、训练和评估Keras中长期记忆(LSTM)循环神经网络的分步生命周期,以及如何使用训练有素的模型进行预测。...最常见的优化算法是随机梯度下降,但 Keras 还支持一套其他最先进的优化算法,这些算法在很少或没有配置时运行良好。...这也是一种效率优化,确保一次不会将太多的输入数据加载到内存中。...这将提供网络在将来预测不可见数据时的性能估计。 该模型评估所有测试模式的损失,以及编译模型时指定的任何其他指标,如分类准确性。返回评估指标列表。...通常,我们会在测试或验证集上评估模型。 进行预测: 我们将对训练输入数据进行预测。同样,我们通常会对不知道正确答案的数据进行预测。

    3.7K10

    教程 | 基于Keras的LSTM多变量时间序列预测

    本文介绍了如何在 Keras 深度学习库中搭建用于多变量时间序列预测的 LSTM 模型。 诸如长短期记忆(LSTM)循环神经网络的神经神经网络几乎可以无缝建模具备多个输入变量的问题。...这为时间序列预测带来极大益处,因为经典线性方法难以适应多变量或多输入预测问题。 通过本教程,你将学会如何在 Keras 深度学习库中搭建用于多变量时间序列预测的 LSTM 模型。...下面的代码加载了「pollution.csv」文件,并且为每个参数(除用于分类的风速以外)绘制了单独的子图。 ? 运行上例创建一个具有 7 个子图的大图,显示每个变量 5 年中的数据。 ?...请记住,每个批结束时,Keras 中的 LSTM 的内部状态都将重置,因此内部状态是天数的函数可能有所帮助(试着证明它)。...评估模型 模型拟合后,我们可以预测整个测试数据集。 我们将预测与测试数据集相结合,并调整测试数据集的规模。我们还用预期的污染指数来调整测试数据集的规模。

    3.9K80

    教你预测北京雾霾,基于keras LSTMs的多变量时间序列预测

    这在时间预测问题中非常有用,而经典线性方法难以应对多变量预测问题。 本文讲解了如何在Keras深度学习库中,为多变量时间序列预测开发LSTM模型。...包含三块内容: 如何将原始数据集转换为可用于时间序列预测的数据集; 如何准备数据,并使LSTM模型适用于多变量时间序列预测问题; 如何做预测,并将预测的结果重新调整为原始数据单位。...考虑到在学习序列预测问题时,LSTM在时间上使用反向传播,最后一点可能是最重要的。 2、定义和拟合模型 这一部分,我们将会在多变量输入数据上拟合LSTM模型。 首先,分割训练集和测试集。...3、评估模型 拟合模型后,开始预测测试集。 将预测结果与测试集结合起来,并反转缩放。 还要将测试集真实的污染结果数据和测试集结合起来,进行反转缩放。...通过对比原始比例的预测值和实际值,我们可以计算模型的误差分数,这里计算误差用均方根误差。

    1.2K31

    评估Keras深度学习模型的性能

    Keras是Python中一个的强大而易用的库,主要用于深度学习。在设计和配置你的深度学习模型时,需要做很多决策。大多数决定必须通过反复试错的方法来解决,并在真实的数据上进行评估。...因此,有一个可靠的方法来评估神经网络和深度学习模型的性能至关重要。 在这篇文章中,你将学到使用Keras评估模型性能的几种方法。 让我们开始吧。 ?...经验法评估网络配置 在设计和配置你的深度学习模型时,你必须做出无数决策。 这些决策大都可以通过复制其他网络的结构和使用启发法来解决。然而,最好的方法是实际设计小型实验,并用实际的数据进行经验评估。...77.92% acc:35.06% acc:74.03% acc:68.83% acc:34.21% acc:72.37% 64.68% (+/- 15.50%) 总结 在这篇文章中,你知道了一种可靠的方法来评估深度学习模型在不可见数据上的性能非常重要...你学到了三种方法,你可以使用Python中的Keras库来评估深度学习模型的性能: 使用自动验证数据集。 使用手动验证数据集。 使用手动k-折交叉验证。

    2.2K80
    领券