Python基于PyTorch实现BP神经网络ANN回归模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工神经网络的发展发挥了极大的作用,也被认为是一种真正能够使用的人工神经网络模型,它的出现曾掀起了人们研究人工神经元网络的热潮。BP网络是在输入层与输出层之间增加若干层(一层或多层)神经元,这些神经元称为隐单元,它们与外界没有直接的联系,但其状态的改变,则能影响输入与输出之间的关系,每一层可以有若干个节点。
本项目通过基于PyTorch实现BP神经网络回归模型。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
数据详情如下(部分展示):
3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
关键代码:
3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息:
从上图可以看到,总共有11个变量,数据中无缺失值,共2000条数据。
3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。
关键代码如下:
4.探索性数据分析
4.1 y变量分布直方图
用Matplotlib工具的hist()方法绘制直方图:
4.2 相关性分析
从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。
5.特征工程
5.1 建立特征数据和标签数据
关键代码如下:
5.2 数据集拆分
通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:
6.构建BP神经网络回归模型
主要使用PyTorch的Linear层网络,用于目标回归。
6.1 模型构建
6.2 神经网络的迭代信息
通过上图可以看到,神经网络每次迭代训练集的损失值。
6.3 训练集损失迭代图
通过上图可以看到,随着迭代次数的增加,训练集损失逐渐减少。
7. 模型评估
7.1评估指标及结果
评估指标主要包括R方、均方误差、解释性方差、绝对误差等等。
从上表可以看出,R方分值为0.9486,说明模型效果较好。
关键代码如下:
7.2 真实值与预测值散点图
通过上图可以看到,真实值与预测值基本在一条线上,说明模型的拟合效果较好。
7.3 真实值与预测值对比图
从上图可以看出真实值和预测值波动基本一致,模型效果较好。
8.结论与展望
综上所述,本项目基于PyTorch实现BP神经网络ANN单隐层算法搭建了回归模型并对模型进行了评估,最终证明了我们提出的模型效果良好。
本次机器学习项目实战所需的资料,项目资源如下:
项目说明:
链接:https://pan.baidu.com/s/1dW3S1a6KGdUHK90W-lmA4w
提取码:bcbp
Python基于PyTorch实现BP神经网络ANN回归模型项目实战相关推荐
- Python基于PyTorch实现BP神经网络ANN分类模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 在人工神经网络的发展历史上,感知机(Multilayer Per ...
- Python实现BP神经网络ANN单隐层回归模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 20世纪80年代中期,David Runelhart.Geoff ...
- 基于pytorch的BP神经网络实现
对于一个神经网络,我们可以根据神经网络结构从头实现,例如一个BP神经网络,我们需要选择损失函数.激活函数,根据公式推导反向传递的梯度,并使用梯度下降更新参数,而卷积神经网络,还要写卷积.池化等函数,同 ...
- Python实现PSO粒子群优化循环神经网络LSTM分类模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 PSO是粒子群优化算法(Particle Swarm Optim ...
- 【DL】基于pytorch搭建BP神经网络/人工神经网络/多层感知机/全连接神经网络的鸢尾花分类
目录 1.介绍 2.数据 3.模型 4.完整代码 1.介绍 鸢尾(学名:Iris tectorum Maxim. )又名:蓝蝴蝶.紫蝴蝶.扁竹花等,属百合目.鸢尾科.鸢尾属多年生草本,根状茎粗壮,直径 ...
- MAT之NN:实现BP神经网络的回归拟合,基于近红外光谱的汽油辛烷值含量预测结果对比
MAT之NN:实现BP神经网络的回归拟合,基于近红外光谱的汽油辛烷值含量预测结果对比 目录 输出结果 实现代码 输出结果 实现代码 load spectra_data.mat plot(NIR') t ...
- Python实现BP神经网络ANN单隐层分类模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 BP(back propagation)神经网络是1986年由R ...
- 【机器学习】基于AutoEncoder的BP神经网络的tensorflow实现
[机器学习]基于AutoEncoder的BP神经网络的tensorflow实现 一.基于AutoEncoder的BP神经网络 1.1.BP神经网络 1.1.1.BP神经网络结构 1.1.2.BP神经网 ...
- 【毕业设计/Matlab系列】基于PCA和BP神经网络的人脸识别系统(附matlab代码)
Date: 2022.4.26 文章目录 前言 1.总体介绍 2.详细分析 2.1.训练程序 2.2.测试程序 3.测试效果图 4.测试部分matlab代码 前言 在毕业设计中实现了基于PCA和BP神 ...
最新文章
- 一些不常用的代码汇总(不断更新)
- Windows杀死结束进程图形化界面操作方法
- Qt5学习笔记之QQ登录界面五:切换界面
- JSON 解析之 FastJson
- 学习通下载任务点内的课件
- GMM R语言程序 gmm包的使用
- php读取写入,php操作文件(读取写入文件)
- MSM8953 Android9.0 配置USB2.0 Camera
- iface eth0 inet dhcp
- Kubernetes存储Longhorn
- 查询宇宙生命的家谱--TaxonKit工具详解
- js判断数字,如果出现全角数字,将其转换为半角
- 女朋友突然天天加班,用python写个定位脚本,直接抓到现场
- 玩转冷板式液冷 你需要一份靠谱的“设计参考”
- python导入excel散点图_Python 写excel文件并插入散点图
- SimMatch 论文分享
- 基于ThinkPHP框架开发的漂亮的家装修公司网站PHP源码
- 大神教你如何用 Python 快速分析你的微信好友
- 实锤!长沙智博美术培训学校
- 字体包和字体子集制作,位图字体制作工具推荐