pytorch|使用循环神经网络(RNN, LSTM或GRU)实现气象数据预测pytorch

前言 【pytorch|使用循环神经网络(RNN, LSTM或GRU)实现气象数据预测pytorch】使用循环神经网络(RNN, LSTM或GRU)实现气象数据预测:
数据集:
tq.csv记录了某地每隔1小时的气象数据:
Date Time:时间(日期是 日月年 的格式)
p (mbar):大气压
T (degC):气温
rh (%):湿度
使用循环神经网络(RNN/LSTM/GRU之一)完成下列功能:输入最近n个小时的气象数据,预测之后24小时的气象数据
生成训练集和测试集:
以2014年及以前的数据为训练集
2015年及以后的数据为测试集
1.引入库 代码如下(示例):

import numpy as np import pandas as pd from torch.utils import data as datafrom sklearn.preprocessing import StandardScaler from config import *

2.读入数据 代码如下(示例):
# 数据读取&dataloaderdata_path = cwd + 'data/tq.csv'train_data = https://www.it610.com/article/np.array(pd.read_csv(data_path, header=None).iloc[1:52622,1:]).astype('float32') test_data = https://www.it610.com/article/np.array(pd.read_csv(data_path, header=None).iloc[52622:,1:]).astype('float32')scaler = StandardScaler() train_data = https://www.it610.com/article/scaler.fit_transform(train_data) test_data = scaler.transform(test_data)def split_Xy(data,n,steps=24): data_X = [] data_y = [] num_Xy = (len(data) - (n + steps)) + 1 for i in range(num_Xy): X = data[i:i+n, :] data_X.append(X) y = data[i+n:i+n+steps, :] data_y.append(y) return torch.from_numpy(np.array(data_X)).type(dtype=torch.float32), torch.from_numpy(np.array(data_y)).type(dtype=torch.float32)train_X,train_y = split_Xy(train_data,24) test_X,test_y = split_Xy(test_data,24)train_dataset = data.TensorDataset(train_X,train_y) test_dataset = data.TensorDataset(test_X,test_y)trainloader = data.DataLoader(train_dataset, batch_size=128, shuffle=True,drop_last=True, num_workers=0) testloader = data.DataLoader(test_dataset, batch_size=1024,drop_last=True, num_workers=0)

#完整代码:
https://download.csdn.net/download/weixin_47707533/85269806?spm=1001.2014.3001.5503

    推荐阅读