LSTM实战:空气质量预测

数据集请戳:
缦旋律的资源合集

1.原始数据预览

       原始数据是北京的空气质量数据,如下图所示:
在这里插入图片描述

       其中第二列有缺失值,但是该列是由根据其他列(具体是哪一列我忘了)的数值大小来赋值的,因此第二列可以直接删掉。

import pandas as pd
import torch
import numpy as np
from torch import optim
from torch import nn
from torch.utils.data import DataLoader,Dataset
import pickle

2.数据预处理

       这个数据集比较干净,只做了归一化处理。

#原始数据预处理
ori = pd.read_excel('./beijing.xlsx',header=None)

data = ori.drop(columns=2)

col_names = ['date','aqi','pm2','pm10','so2','co','no2','o3']

data.columns = ['date','aqi','pm2','pm10','so2','co','no2','o3']

pro = data.iloc[:,1:]

for name in col_names[1:]:
    pro[name] = (pro[name]-pro[name].min())/(pro[name].max()-pro[name].min())#归一化处理

pro['date'] = data['date']

pro.to_excel('pro_data.xlsx',index=False)

pro = pd.read_excel('./pro_data.xlsx')

       经过预处理后的数据长这样:
在这里插入图片描述

3.设置超参数

#设置超参数
x_timesteps = 5 #用多少期去预测(在RNN模型中x_timesteps就是cell的个数)
y_timesteps = 1 #老师说一般都只预测一期,所以y_timestpes应该就是固定值1,但是后面Env我懒得改了,所以这里还是保留了y_timesteps这个超参数
stride = 2 #每次移动多少期来采样
hidden_size = 20 
hidden_layers = 1
y_features = 7 #最终你想要预测多少个特征,比如我用前5期的7个特征预测滞后期的7个特征,那么y_features就是7;如果只想预测其中某个特征,那么y_features就是1
if y_features<7:
    the_col_wanted =  [int(x) for x in input('输入您想要的列,若超过1列,请用,隔开(英文逗号)。您选择的列是:').split(',')] #你想要预测的特征,这个长度必须与y_features一致
    if len(the_col_wanted) == y_features:
        print('您最终选择的列是:',the_col_wanted)
    else:
        print('您的选择有误,请重新进行选择')
else
  • 17
    点赞
  • 243
    收藏
    觉得还不错? 一键收藏
  • 42
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值