Tensorflow学习笔记之利用DNNRegressor进行时序预测

Tensorflow学习笔记之利用DNNRegressor进行时序预测

 Tensorflow高级库的DNNRegressor很方便使用,如同sklearn库一样的简单,只要定义好数据格式,然后fit然后predict就可以了,时序预测中最出名的恐怕lstm了,但是最近在使用它时,对于数据缺失和数据量少的情况感觉预测不是很好,受到同事的启发,利用DNN来进行预测,效果还行,记录下方便以后查看。
 实现的语言采用python(“人生苦短,我用python”)。

  1. 加载所需要的模块

    
    import os
    import pandas as pd #读取csv文件
    import numpy as np
    import pytz # 时区处理
    import tensorflow as  tf
    from sklearn import preprocessing # 数据标准化
    from sklearn.model_selection import train_test_split
  2. 加载数据,为了重复使用,我定义成一个函数
     在加载数据的同时将年份细分为year,month,day,工作日等。

    def process_data(file_path):
        file_name = os.path.split(file_path)[1]
        time_name = 'time'
        data = pd.read_csv(file_path, header=None, names=[time_name, 'value'])
        data[time_name] = pd.to_datetime(data[time_name], unit='ms', utc=True)
        end_time = data.iloc[-1][0]
        tz = pytz.timezone("Asia/Shanghai")
        data2 = data.set_index([time_name])
        data2 = data2.resample(rule='5min' ).mean()
        data2 = data2.tz_convert(tz)
        data2 = data2.interpolate(method='time')
        data2[
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值