python实现bp神经网络对csv文件进行数据预测

参考资源:

sklearn库 bp神经网络[从原理到代码一篇搞定](2)_sklearn 神经网络-CSDN博客

十分钟上手sklearn:安装,获取数据,数据预处理 - 知乎 (zhihu.com)

一个实例讲解如何使用BP神经网络(附代码) - 知乎 (zhihu.com)

神经网络——Python实现BP神经网络算法(理论+例子+程序)_bp神经网络python-CSDN博客

sklearn包MLPClassifier的使用详解+例子-CSDN博客

数据集按照csv格式标签划分为训练集和验证集(完整代码)_train.csv-CSDN博客

1.数据集长相(也可以管我要):

训练数据集(里面百分之70是训练集,百分之30为测试集,最后一列(AA列)为标签,AA列有数)

预测数据集(里面没有标签(AA列没数))

2.图像:

3.代码

import numpy as np
import pandas as pd
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
import math#获取数据转为numpy数组
filename=pd.read_csv("C:/Users/86170/Desktop/exel/testdata.csv")
filename1=pd.read_csv("C:/Users/86170/Desktop/exel/test.csv")
sheet1=np.array(filename)
sheet2=np.array(filename1)#分成特征与标签
X=np.array(sheet1[1:10001,0:26])
Y=np.array(sheet1[1:10001,26:27])
new_X=np.array(sheet2[1:10001,0:26])
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=42)
# 创建BP神经网络分类器
mlp = MLPClassifier(hidden_layer_sizes=(100,100,50,), max_iter=1000, random_state=42)# 训练模型
mlp.fit(X_train, y_train)
# 神经网络预测
y_pred = mlp.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("精确度为:", accuracy)
# 神经网络预测
error1 = y_pred - y_test
error=abs(error1)
#print(abs(error))#预测值代码
#predict_y = np.zeros(10)
predict_y=mlp.predict(new_X)
predict_y1=np.transpose(predict_y)
#求误差
#平均绝对误差
matrix_sum=0
for row in error:matrix_sum+=sum(row)/10000#matrix_sum=abs(matrix_sum)print( "平均绝对误差为:",matrix_sum)break
#均方误差
mse1=error*error.T/10000
mse2=0
for row in mse1:mse2+=sum(row)#matrix_sum=abs(matrix_sum)print("均方误差为:",mse2)break
#均方根误差
mse3=math.sqrt(matrix_sum)
print("均方根误差为:",mse3)
#打印预测结果
print("前100个预测结果为:")
for i in range(1,100):print(predict_y1[i])
print(y_test.shape)
print(y_pred.shape)
# 真实值与预测值误差比较的绘图代码
#取3000个点太多
y_test1=np.array(y_test[1:101,:])
y_pred1=np.array(y_pred[1:101])
X = list(np.arange(-1, 1, 0.02))
plt.plot(X, y_test1)
plt.plot(X, y_pred1)
plt.xlabel("x")  # x轴标签
plt.ylabel("ylabel")  # y轴标签
plt.title("BP netural real and prediction")  # 图标题
plt.show()

4.得出的结果如下:

精确度为: 0.994
平均绝对误差为: 0.3054
均方误差为: 0.8411999999999878
均方根误差为: 0.552630075185924
前100个预测结果为:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
0.0
0.0
0.0
5.0
0.0
0.0
5.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
0.0
0.0
0.0
5.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html实现 页面禁止右键 禁止复制 禁止图片拖动 禁止复制和剪切

众所周知,一般的屏蔽的方法是用JS来编写的脚本,但是也可以直接通过修改网页属性的方法来屏蔽右键 禁止复制。 禁止右键 οncοntextmenu"return false" 禁止复制和剪切: οncοpy"return false;" oncut"return fa…

Spring MVC:表单处理卷。 4 –单选按钮

在软件开发领域,单选按钮是图形用户界面的重要组成部分。 Spring MVC标签库为此表单元素提供了特殊标签。 更确切地说,有两个标签用于此目的:单选按钮,单选按钮。 两者对于特定任务都是有用的。 如您所知,我将在帖子中…

点击时候确定某个元素 js_某空气质量监测平台 JS反爬

目标:中国空气质量在线监测分析平台|城市分析 参考CSDN中文章,记录一下学习过程通过切换城市,页面数据是通过 Ajax 加载的,数据接口:https://www.aqistudy.cn/apinew/aqistudyapi.php请求的POST Data、返回的数据都被加…

HTML 部分常用属性、组成属性|...超链接、路径、锚点、列表、滚动、URL编码、表格、表单、GET和POST

URL地址 就是我们所说的网址:www.jd.com 浏览器内核,渲染引擎 Ie内核:triteent 谷歌/欧鹏:blink 火狐:gecko 苹果:webkit 渲染引擎是出现兼容性的根本问题 -html概念:hyper Text Markup Languag…

Spring @Value取值为null或@Autowired注入失败

Value 用于注入.properties文件中定义的内容 Autowired 用于装配bean 用法都很简单,很直接,但是稍不注意就会出错。下面就来说说我遇到的问题。 前两天在项目中遇到了一个问题,大致描述就是我写了如下一个类(只列出关键代码&#…

2个域名重定向到https域名

配置实例: [rootiZbp17q09o7e8pgg9dybd7Z conf.d]# cat company.confserver { listen 80; server_name www.yu*******dao.com www.bj******kd.com; if ($host ! www.yu********dao.com) { rewrite ^/(.*)$ http://www.yu**********dao.com/$1 permanent; } return …

mysql 部门表_MySQL高级

本文大纲环境win10-64MySQL Community Server 5.7.1mysqld –version可查看版本官方文档SQL执行顺序手写顺序我们可以将手写SQL时遵循的格式归结如下&#xff1a;select distinct from join on wheregroup byhavingorder bylimit <offset>,<rows>distinct&…

使用Apache Camel发布/订阅模式

发布/订阅是一种简单的消息传递模式&#xff0c;其中&#xff0c;发布者将消息发送到某个频道&#xff0c;而无需知道谁将接收消息。 然后&#xff0c;通道负责将消息的副本传递给每个订户。 此消息传递模型允许创建松耦合和可伸缩的系统。 这是一种非常常见的消息传递模式&am…

移动端(H5)弹框组件--简单--实用--不依赖jQuery

俗话说的好&#xff0c;框架是服务与大家的&#xff0c;包含的功能比较多&#xff0c;代码多。在现在追求速度的年代。应该根据自己的需求去封装自己所需要的组件。 下边就给大家介绍一下自己封装的一个小弹框组件&#xff0c;不依赖与jQuery&#xff0c;代码少&#xff0c;适…

IDEA界面

Alt数字&#xff1a;出来你需要的界面转载于:https://www.cnblogs.com/chanaichao/p/9214327.html

在单节点和多节点上的Hadoop设置

我们将描述在单节点和多节点上的Hadoop设置。 将详细描述Hadoop环境的设置和配置。 首先&#xff0c;您需要下载以下软件&#xff08;rpm&#xff09;。 Java JDK RPM Apache Hadoop 0.20.204.0 RPM A&#xff09;单节点系统Hadoop设置 1&#xff09;在Red Hat或CentOS 5系统…

c++ for循环 流程图_python 零基础必知--条件控制与循环语句

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理本文章来自腾讯云 作者&#xff1a;somenzz如果没有 if 语句和循环语句&#xff0c;请问你怎么编程&#xff1f;Python 中的条件控制和循环语句都非常简单&…

前端总结·基础篇·CSS(二)视觉

前端总结系列 前端总结基础篇CSS&#xff08;一&#xff09;布局前端总结基础篇CSS&#xff08;二&#xff09;视觉前端总结基础篇CSS&#xff08;三&#xff09;补充前端总结基础篇JS&#xff08;一&#xff09;原型、原型链、构造函数和字符串&#xff08;String&#xff09;…

【kindle笔记】之 《浪潮之巅》- 2018-1-

《浪潮之巅》 这本书推荐自最爱的政治课老师。 政治课老师张巍老师。我会一直记得你的。 以这样的身份来到这个学校&#xff0c;他人的质疑&#xff0c;自己的忐忑&#xff0c;老板的不公。犹犹豫豫谨小慎微地前进。 第一次听到这样的话是从您口中&#xff1a; 在座的诸位&…

定位网页元素的解析

一.position属性定位网页元素 1.static &#xff1a;默认值&#xff0c;没有定位。按照标准文档流的方式提现出来 2.relative&#xff1a;相对定位&#xff0c;相对于自身元素原来的位置进行定位 <style type"text/css"> .div01{ position: relative;…

Secure CRT 自动记录日志log配置

SecureCRT8.0的下载地址下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1i5q09qH 密码&#xff1a;4pa2 配置自动log操作如下&#xff1a; 1.options ---> Session Options 2. 设置log 文件属性 点击 日志 &#xff0c;在选项框中 Log file name中填入路径和…

Java 8的惰性序列实现

我刚刚在GitHub上发布了LazySeq库&#xff0c;这是我最近进行的Java 8实验的结果。 我希望你会喜欢它。 即使您觉得它不是很有用&#xff0c;它仍然是Java 8&#xff08;以及一般而言&#xff09;中的函数式编程的重要课程。 而且它可能是第一个针对Java 8的社区库&#xff01;…

字符串、对象、数组操作方法、json方法

1.字符串操作方法 1.charAt * 作用 * 通过索引找字符 * 语法 * 字符串.charAt(index) * 参数 * 索引值 * 取值范围&#xff1a;0-(length-1) * 如果不写参数&#xff0c;那默认为0 * 如果index超出了范围后&…

禁用mysql的sleep函数_MySQL的sleep函数的特殊特现象

MySQL中的系统函数sleep&#xff0c;实际应用的场景不多&#xff0c;一般用来做实验测试&#xff0c;昨天在测试的时候&#xff0c;意外发现sleep函数的一个特殊现象。如果在查询语句中使用sleep函数&#xff0c;那么休眠的时间跟返回的记录有关。如下测试所示&#xff1a;mysq…

ADO.NET 事务控制

在ADO.NET 中&#xff0c;可以使用Connection 和Transaction 对象来控制事务。若要执行事务&#xff0c;请执行下列操作&#xff1a; 1.调用Connection 对象的BeginTransaction 方法来标记事务的开始。 2.将Transaction 对象分配给要执行的Command的Transaction 属性。…