基于Tensorflow的神经网络模型搭建——气温预测
基于Tensorflow的神经网络模型搭建
环境:
Anaconda3
python 3.8.10
TensorFlow 2.3.0
numpy 1.22.4
Pycharm 2022.1
文章目录
回归问题预测
- Tensorflow2.x 版本中将使用大量的Keras的简介建模方法
导包
至于为什么加入忽略,这里不多赘述,想要研究到底为什么的小伙伴可以自行步入下面的链接
读取文件
文件如下,需要请自行下载:
链接:https://pan.baidu.com/s/1o0IyPFJNrurLRCUbji6_EA?pwd=knsw 提取码:knsw
tips:csv颜色插件如图,需要请自行搜索并应用
日期格式处理
为方便时间数据的处理和展示等操作,这里使用 datetime 对其进行格式更改
特征可视化展示
tips:
拿到自己的数据之后需要做的事:
1、数据处理
2、检查数据有无异常值
数据预处理
由于数据中 week 这一列的数据是字符串形式,需要对其进行预处理
对于 input_features = preprocessing.StandardScaler().fit_transform(features) 这句话,需要包为 sklearn
基于Kras构建网络模型
构造网络模型
一些常用参数如下:
activation:激活函数选择,一般常用relu
kernel_initializer, bias_initializer:权重与偏置参数的初始化方法,有时候不收敛,换种初始化就好了
kernel_regularizer, bias_regularizer:要不要加入正则化
inputs:输入,自己指定 或 让网络模型自己选择
units:神经元个数
这里自己选择神经元个数,也可以根据输入特征来画图进行推导,hidden层自己选择适当添加
由于使用的是 Tensorflow2.x 所以只需要其中使用的每个Hidden有多少个神经元,输出有几个结果即可
其中,layers里有很多层的实现,如卷积层等等…,这里用的是全连接层
配置网络参数
指定优化器和损失函数,并使用迭代的方式优化网络模型
解释_fit函数参数:
1、x 2、y
3、自行切割出25%的数据作为验证集
4、迭代次数
5、每次迭代样本数
若使用其他优化器可自行步入官方文档进行查阅(我觉得这很pytorch)
其中loss是训练损失结果,val_loss是验证损失结果
目前看来,训练损失还凑合,但是验证损失比较大,处于****过拟合状态
如何理解欠拟合和过拟合,请看此文章👉 理解过拟合 - 知乎
那么如何调参保证不让他过拟合,让他收敛呢???
通过下面的方法,将模型参数打印出来看一下
可以看到每一层计算后的结果,当然可以往前推计算出特征值个数
调参
更改一下初始化方法的参数试试
kernel_initializer
这里先使用随机高斯分布进行调参
学习入口:正态(高斯)分布
为了让他多学一会,我又将epoch上调到100
可以看到,这次效果好了一点,当然了,epoch上调起了决定性作用hhhh
这回将高斯分布剔除,再跑一边看看,高斯分布的影响
当然,这个的优化还是有作用的,毕竟那几个三位数也不怎么样
kernel_regularizer
这回再加入正则化惩罚项试试
可以看到,效果有一点提升,但是不那么明显
模型预测
测试结果
为了让模型更可靠,我将epoch上调至10000次,并将结果可视化
可见结果还是可以接受的,啊。。。。右上角那个点是怎么回事儿??!!
To be continued…
__EOF__

本文链接:https://www.cnblogs.com/0105XiaoyeZhang/p/17065921.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!