TensorFlow基于LSTM的预测实例

本实例在前辈基础上,代码有所修改。为了支持Python3.6修改了一处编码方式,

  • 本文使用单层的LSTM模型对数据进行预测,更为复杂的多层LSTM模型也是基于单层LSTM模型进行扩展。定义一个基本的LSTM模型,需要定义如下几个部分:
    1. 定义时间步, 定义每个输入数据与前多少个有序的输入的数据有关联
    2. 定义隐层神经元的数量
    3. 定义每批训练样本数
    4. 定义输入层维度、权重、偏置
    5. 定义输出层维度、权重、偏置
    6. 定义学习率,学习率越小,越容易陷入局部最优结果,学习率越大,相邻两次训练结果间的抖动越大
    7. 定义损失函数
    8. 定义训练次数
    9. 构建训练数据集
    10. 构建测试数据集

获取数据集

  • 在预测房价之前,需要先获取房价的数据,本文的数据来源为某房地产中介平台的交易数据。
  • 数据文件在ChargeInfo.txt文件
  • 关键文件

  • PricePredictor.py

    • LSTM预测模型实现
  • chargeInfo.txt

    • 房价数据

运行走势图

纵坐标数值的单位为 万RMB

源码地址

修改代码部分为 

area = float(data[5].replace("平米", "").encode("utf-8"))
price = float(data[2])
pricePerSquare = price / area
charge = [str(data[1]), data[6].replace('\n', '').encode("utf-8"), data[3].encode("utf-8"), pricePerSquare]

注意要设置保存模型 stock.model

本文实现的demo离实际的工程应用还有差距,仅供体验和参考

猜你喜欢

转载自blog.csdn.net/bysjlwdx/article/details/83861033