dl之lstm/gru/cnn:基于tensorflow框架分别利用lstm/grucnn算法对上海最高气温实现回归预测案例(代码片段)

一个处女座的程序猿 一个处女座的程序猿     2023-04-09     483

关键词:

DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例

目录

基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例

# 1、定义数据集

# 2、特征工程

# 2.1、挑选入模特征

# 2.2、对数据切分并统一进行归一化处理

# 3、模型训练与验证

# 3.1、切分数据集将训练集和测试集,并转换为LSTM模型所需的数据格式

# 3.2、将数据转换为LSTM/GRU、CNN所需要的3D格式

# 3.3、构建LSTM/GRU、CNN模型

# 3.4、编译并训练模型

# 3.5、模型预测并将预测结果反归一化为原始值

# 3.6、模型评估

# 3.7、绘制预测值对比真实值

LSTM,epochs = 100

LSTM,epochs = 400

GRU2,epochs = 100

GRU2,epochs = 400

GRU3,epochs = 100

GRU3,epochs = 400

CNN,epochs = 100

CNN,epochs = 400


相关文章
DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例
DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例实现代码

基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例

# 1、定义数据集

dateweekmax_temperaturemin_temperatureweatherwind_directionwind_levelair_quality_indexair_quality_level
2021/1/1周五4-1晴~多云西北风2级52
2021/1/2周六71晴~多云东北风2级69
2021/1/3周日106东北风2级66
2021/1/4周一137东风2级44
2021/1/5周二82阴~多云东北风3级49
2021/1/6周三5-4北风3级46
2021/1/7周四-3-6西北风4级67
2021/1/8周五-1-5阴~晴西北风3级50
2021/1/9周六3-1晴~多云西北风3级57
2021/1/10周日5-1阴~多云西北风2级73
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 805 entries, 2021-01-01 to 2023-03-16
Data columns (total 8 columns):
 #   Column             Non-Null Count  Dtype  
---  ------             --------------  -----  
 0   week               805 non-null    object 
 1   max_temperature    805 non-null    int64  
 2   min_temperature    805 non-null    int64  
 3   weather            805 non-null    object 
 4   wind_direction     805 non-null    object 
 5   wind_level         805 non-null    object 
 6   air_quality_index  667 non-null    float64
 7   air_quality_level  775 non-null    object 
dtypes: float64(1), int64(2), object(5)
memory usage: 56.6+ KB
None
           week  max_temperature  ...  air_quality_index air_quality_level
date                              ...                                     
2021-01-01   周五                4  ...               52.0                 良
2021-01-02   周六                7  ...               69.0                 良
2021-01-03   周日               10  ...               66.0                 良
2021-01-04   周一               13  ...               44.0                 优
2021-01-05   周二                8  ...               49.0                 优
...         ...              ...  ...                ...               ...
2023-03-12   周日               12  ...               68.0                 良
2023-03-13   周一               14  ...               52.0                 良
2023-03-14   周二               20  ...               55.0                 良
2023-03-15   周三               23  ...               52.0                 良
2023-03-16   周四               15  ...               69.0                 良

[805 rows x 8 columns]

# 2、特征工程

# 2.1、挑选入模特征

# 2.2、对数据切分并统一进行归一化处理

(730, 1)
(76, 1)

# 3、模型训练与验证

# 3.1、切分数据集将训练集和测试集,并转换为LSTM模型所需的数据格式

X_train after create_dataset (705, 25) 
            0         1         2   ...        22        23        24
0    0.162791  0.232558  0.302326  ...  0.255814  0.302326  0.418605
1    0.232558  0.302326  0.372093  ...  0.302326  0.418605  0.302326
2    0.302326  0.372093  0.255814  ...  0.418605  0.302326  0.302326
3    0.372093  0.255814  0.186047  ...  0.302326  0.302326  0.302326
4    0.255814  0.186047  0.000000  ...  0.302326  0.302326  0.255814
..        ...       ...       ...  ...       ...       ...       ...
700  0.255814  0.302326  0.302326  ...  0.186047  0.209302  0.232558
701  0.302326  0.302326  0.302326  ...  0.209302  0.232558  0.279070
702  0.302326  0.302326  0.348837  ...  0.232558  0.279070  0.232558
703  0.302326  0.348837  0.372093  ...  0.279070  0.232558  0.209302
704  0.348837  0.372093  0.441860  ...  0.232558  0.209302  0.232558

# 3.2、将数据转换为LSTM/GRU、CNN所需要的3D格式

X_train after reshape (705, 25, 1) 
 [[[0.1627907 ]
  [0.23255814]
  [0.30232558]
  ...
  [0.25581395]
  [0.30232558]
  [0.41860465]]

 [[0.23255814]
  [0.30232558]
  [0.37209302]
  ...
  [0.30232558]
  [0.41860465]
  [0.30232558]]

 [[0.30232558]
  [0.37209302]
  [0.25581395]
  ...
  [0.41860465]
  [0.30232558]
  [0.30232558]]

 ...

 [[0.30232558]
  [0.30232558]
  [0.34883721]
  ...
  [0.23255814]
  [0.27906977]
  [0.23255814]]

 [[0.30232558]
  [0.34883721]
  [0.37209302]
  ...
  [0.27906977]
  [0.23255814]
  [0.20930233]]

 [[0.34883721]
  [0.37209302]
  [0.44186047]
  ...
  [0.23255814]
  [0.20930233]
  [0.23255814]]

# 3.3、构建LSTM/GRU、CNN模型

# 3.4、编译并训练模型

Epoch 1/100
23/23 [==============================] - 3s 9ms/step - loss: 0.0749
Epoch 2/100
23/23 [==============================] - 0s 9ms/step - loss: 0.0135
Epoch 3/100
23/23 [==============================] - 0s 9ms/step - loss: 0.0100
Epoch 4/100
23/23 [==============================] - 0s 9ms/step - loss: 0.0101
Epoch 5/100
23/23 [==============================] - 0s 9ms/step - loss: 0.0097
Epoch 6/100
23/23 [==============================] - 0s 11ms/step - loss: 0.0091
Epoch 7/100
23/23 [==============================] - 0s 10ms/step - loss: 0.0094
Epoch 8/100
23/23 [==============================] - 0s 11ms/step - loss: 0.0097
Epoch 9/100
23/23 [==============================] - 0s 11ms/step - loss: 0.0089
Epoch 10/100
……

Epoch 97/100
23/23 [==============================] - 0s 13ms/step - loss: 0.0059
Epoch 98/100
23/23 [==============================] - 0s 14ms/step - loss: 0.0055
Epoch 99/100
23/23 [==============================] - 0s 13ms/step - loss: 0.0053
Epoch 100/100
23/23 [==============================] - 0s 13ms/step - loss: 0.0053
2/2 [==============================] - 1s 4ms/step
LSTM_val_RMSE: 7.681726490151304
LSTM_val_MSE: 14.169289610796568
LSTM_val_R2: 0.5862969525651983

# 3.5、模型预测并将预测结果反归一化为原始值

# 3.6、模型评估

'''
40 0.51478
25 0.586529
20 0.579569
12   0.5689
6   0.5397
'''

LSTM_val_RMSE: 7.666831051805234
LSTM_val_MSE: 14.324265340141883
LSTM_val_R2: 0.5817721010539598


LSTM_val_RMSE: 7.778038916207498
LSTM_val_MSE: 15.424474218238425
LSTM_val_R2: 0.5496491239544908

# 3.7、绘制预测值对比真实值

LSTM,epochs = 100

LSTM_val_RMSE: 7.7114049938862195
LSTM_val_MSE: 14.225878442019523
LSTM_val_R2: 0.5846447192796375

LSTM,epochs = 400

LSTM_val_RMSE: 7.926438561188859
LSTM_val_MSE: 18.42118750026751
LSTM_val_R2: 0.4621536001055656

GRU2,epochs = 100

GRU2,epochs = 400

GRU_val_RMSE: 7.801296944756388
GRU_val_MSE: 15.746488121878885
GRU_val_R2: 0.5402472317699365

GRU3,epochs = 100

GRU3_val_RMSE: 7.748423445714951
GRU3_val_MSE: 15.642613371982792
GRU3_val_R2: 0.5432800796941399

GRU3,epochs = 400

GRU3_val_RMSE: 7.767935199334584
GRU3_val_MSE: 16.609856586892658
GRU3_val_R2: 0.5150393226336065

CNN,epochs = 100

CNN_val_RMSE: 8.157615491942318
CNN_val_MSE: 26.20883236889009
CNN_val_R2: 0.23477646949527275

CNN,epochs = 400

CNN_val_RMSE: 8.045454928215973
CNN_val_MSE: 36.41909143818048
CNN_val_R2: -0.06333412094997337

dl之perceptron:感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门and/与非门nand/或门or是)解决xor异或问题之详细攻略(代码片段)

...之Perceptron:感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门AND/与非门NAND/或门OR是)解决XOR异或问题之详细攻略目录感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑... 查看详情

dl之gru(tensorflow框架):基于茅台股票数据集利用gru算法实现回归预测(保存模型.ckpt.index.ckpt.data文件)(代码片段)

DL之GRU(Tensorflow框架):基于茅台股票数据集利用GRU算法实现回归预测(保存模型.ckpt.index、.ckpt.data文件)目录基于茅台股票数据集利用GRU算法实现回归预测(保存模型.ckpt.index、.ckpt.data文件)#1、定义数据集#2、数据集预处理#2.1、... 查看详情

python深度学习14——keras实现transformer中文文本十分类(代码片段)

...用这个数据集来验证Transformer比其他类型的网络(RNN,LSTM,GRU,CNN1D)的优越性。当然,需要这个文本数据集和停用词的还是可以留言评论找博主要,留下邮箱 有空会发你的。模型介绍我知道很多同学来看我这篇博客... 查看详情

基于lnmp的zabbbix之zabbixagent源码详细安装,但不给图

基于LNMP的Zabbbix之ZabbixServer源码详细安装:http://www.cnblogs.com/losbyday/p/5828547.htmlwgethttp://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gztarzxfzabbix-3.0.3. 查看详情

html之dl标签

用来定义列表之用通常与dt:定义列表中的项目    dd:描述列表中的项目示例代码:<dl><dt>数据库</dt><dd>oracle</dd><dd>mysql</dd><dd>vertica</dd><dt>操作系统</dt><dd>Windows& 查看详情

dl:深度学习模型优化之模型训练技巧总结之适时自动调整学习率实现代码(代码片段)

DL:深度学习模型优化之模型训练技巧总结之适时自动调整学习率实现代码目录深度学习模型优化之模型训练技巧总结之适时自动调整学习率实现代码深度学习模型优化之模型训练技巧总结之适时自动调整学习率实现代码defsc... 查看详情

登录之回车登录和记住密码

页面:<div>  <dl>    <dd><inputname="txtUser"type="text"id="txtUser"placeholder="用户名/邮箱/手机号"/>    </dd>  </dl>  <dl>    <dd><inputtype="password"id="Use 查看详情

[ml&dl]频繁项集apriori算法

频繁项集Apriori算法Reference数据挖掘十大算法之Apriori详解Apriori算法详解之【一、相关概念和核心步骤】关联分析之Apriori算法haha算法理解部分主要是前两个链接,写的很靠谱。在实际中再配合上hadoop的mapreduce。 查看详情

dl4j实战之六:图形化展示训练过程(代码片段)

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本篇是《DL4J实战》系列的第六篇,咱们继续夯实基本功,这次学习的是如何更加形象完整的展示训练过程:... 查看详情

机器学习英雄访谈录之dl自由职业者:tuatinigodard

目录机器学习英雄访谈录之DL自由职业者:TuatiniGodard正文对我的启发机器学习英雄访谈录之DL自由职业者:TuatiniGodardSanyamBhutani是Medium上一位专注ML和CV的博主,本系列翻译自他进行的系列采访——《机器学习英雄访谈录》。学习... 查看详情

go语言ide之gogland配置使用

...Brains公司推出的 Go 语言集成开发环境。Gogland同样基于IntelliJ平台开发,支持JetBrains的插件体系。目前正式版尚未发布。官方:https://www.jetbrains.com/go/。关于使用,即将开始咯!一、安装Golang 1)首先到https://golang.org/dl/选... 查看详情

机器学习英雄访谈录之dl实践家:dominicmonn

机器学习英雄访谈录之DL实践家:DominicMonnSanyamBhutani是Medium上一位专注ML和CV的博主,本系列翻译自他进行的系列采访——《机器学习英雄访谈录》。学习从模仿开始,要模仿就要模仿那些最棒的人,这是我开始本系列的初衷。今... 查看详情

docker应用之仓库

仓库是存放镜像的地方注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,每个仓库也可以有多个镜像如dl.dockerpool.com/ubuntu,dl.dockerpool.com就是注册服务器地址,ubuntu是仓库名一、DockerHub公共镜像市场DockerHub是... 查看详情

01go之环境搭建(代码片段)

1.1Linux搭建Go环境  1.ssh远程登录Linux服务器,可选用iTerm、xshell1ssh[email protected]  2.建议配置好阿里云yum源、epel源1安装git23yuminstallgit  3.下载go源码包1//下载地址go官网https://golang.org/dl/2cd/opt/3wgethttps://dl.google.com/go/ 查看详情

远程jupyter+pycharm配置之jupyternotebook切换虚拟环境(代码片段)

1、安装ipykernel:(base)[root]#condaactivatedl(dl)[root]#condainstallnb_conda_kernelsCollectingpackagemetadata(current_repodata.json):doneSolvingenvironment:done2、激活conda环境:sourceactivate环境名称,将环境写入notebook的kernel中python-mipykernelinstall--user--name环境名... 查看详情

基于torch学汪峰写歌词聊天机器人图像着色/生成看图说话生成字幕

手把手教你基于torch玩转学汪峰写词、自动聊天机器人、图像着色、图像生成、看图说话、生成字幕作者:骁哲、李伟、小蔡、July。说明:本教程出自七月在线开发/市场团队、及七月在线5月深度学习班学员之手,有何问题欢... 查看详情

r语言聚类分析之基于划分的聚类kmeans实战:基于菌株数据

R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据 目录R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据 查看详情

unity之消息中心(基于委托)

很简单,直接上代码: 查看详情