整体的处理思路是
先加载训练数据,对数据进行训练,然后再进行预测,最后输出预测值。

main()

import numpy as py
import DataLoad as dataload
import ModelTrain as modeltrain
import DataPrediction as datapredictiondef main():data_train = dataload.load_data_train() # 加载训练数据 print(data_train) modeltrain.Train_Model(data_train) # 对数据进行训练data_pre = dataload.load_data_pre() # 加载需要预测的数据data_real = dataload.load_data_real() # 加载数据的真实值print(data_pre)print(3)pre_result = dataprediction.Predict_Data(data_pre) 进行预测print("真实值为:%d"%(data_real)+" 预测结果为:%d" % (pre_result))if __name__ == '__main__':main()

数据加载 DataLoad

import numpy as np
import pandas as pd
data = pd.read_csv("./2015(z).CSV") #读取csv格式的文件全部数据
data1 = np.mat(data) #数据矩阵化
pre_raw = 30 #需要预测值所在行数
# print (data1)
def load_data_train():data_train = data1[0:26, 3:47] # 取出数据的第1行到26行中的第4列到47列作为训练数据print(data_train)return data_traindef load_data_pre():data_pre = data1[pre_raw, 3:46].astype('float64') #第31行第4列到第46列为输入数据data_mean = data_pre.mean() #求平均值data_std = data_pre.std() #求标准差data_pre = (data_pre - data_mean) / data_std #标准化return data_predef load_data_real():data_real = data1[pre_raw, 46]  取出第31行的第47列数据return data_real

模型训练 ModelTrain

import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Activationdef Train_Model(data_train):modelfile = './modelweight' #此位置保存训练模型过程中的权重y_mean_std = "./y_mean_std.txt" # 保存标准化过程中的数据,后边数据还原需要用到data_train = np.matrix(data_train).astype('float64')data_mean = np.mean(data_train, axis=0)#对列求平均值data_std = np.std(data_train, axis=0)#计算每一列的标准差# data_train = (data_train - data_mean) / data_stdprint(1)x_train = data_train[:, 0:(data_train.shape[1] - 1)] #所有数据(除最后一列)作为输入xy_train = data_train[:, data_train.shape[1] - 1] #所有数据的最后一列作为输出yprint(x_train)print(y_train)#模型训练model = Sequential()model.add(Dense(x_train.shape[1], input_dim=x_train.shape[1], kernel_initializer="uniform"))model.add(Activation('relu'))model.add(Dense(1, input_dim=x_train.shape[1]))model.compile(loss='mean_squared_error', optimizer='adam')model.fit(x_train, y_train, epochs=40, batch_size=x_train.shape[0])model.save_weights(modelfile) #保存模型权重y_mean = data_mean[:, data_train.shape[1] - 1]y_std = data_std[:, data_train.shape[1] - 1]print("训练完毕")# 将标准差过程中的参数写入文件f = open(y_mean_std, "w") mean_std = str(y_mean.astype(str)) + " " + str(y_std.astype(str))mean_std = mean_std.replace("[", "")mean_std = mean_std.replace("]", "")mean_std = mean_std.replace("'", "")f.write(mean_std)

数据预测 DataPrediction

import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Activationdef load_y():f = open("./y_mean_std.txt", "r") y_mean = f.read()y_mean = y_mean.split(" ")f.close()return y_meandef Predict_Data(data_pre):model = Sequential()model.add(Dense(data_pre.shape[1], input_dim=data_pre.shape[1], kernel_initializer="uniform"))print(data_pre.shape[1])model.add(Activation('relu'))model.add(Dense(1, input_dim=data_pre.shape[1]))model.compile(loss='mean_squared_error', optimizer='adam')model.load_weights('./modelweight')mean_std = load_y()pre_result = model.predict(data_pre) * float(mean_std[1]) + float(mean_std[0])print(model.summary())#输出参数param计算过程return pre_result

BP神经网络数据预测(excel)相关推荐

  1. bp神经网络数据预测实例,bp神经网络实例分析

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

  2. 【BP数据预测】基于matlab人工鱼群算法优化BP神经网络数据预测【含Matlab源码 523期】

    一.人工鱼群算法简介 1 觅食行为   指鱼循着食物多的方向游动的一种行为,人工鱼X i X_iXi​在其视野内随机选择一个状态X j X_jXj​,分别计算它们的目标函数值进行比较,如果发现Y j ...

  3. BP神经网络数据预测

    BP神经网络是一种多层前馈网络,可以进行学习和存储输入输出映射关系,不需要建立数学方程式.能通过对输入的样本数据的学习训练,获得隐藏在数据内部的规律,并利用学习到的规律来预测未来的数据. p=[20. ...

  4. 【Matlab学习手记】BP神经网络数据预测

    2021-6-25 新增 github 源码链接 https://github.com/AFei19911012/MatlabSamples/tree/master/MachineLearning/B ...

  5. 【BP数据预测】基于matlab鸟群算法优化BP神经网络数据预测【含Matlab源码 1772期】

    一.鸟群算法优化BP神经网络简介 1 BP 神经网络 BP神经网络是一种按误差逆向传播算法训练的多层前馈网络, 主要由输入层.中间层和输出层组成, 拓扑结构如图1所示. BP 神经网络是通过不断对样本 ...

  6. 【BP数据预测】基于matlab斑点鬣狗算法优化BP神经网络数据预测【含Matlab 219期】

    ⛄一.斑点鬣狗算法简介 斑点鬣狗的行为可以简化为搜索.包围.狩猎和攻击猎物.建立粘性集群有助于斑点鬣狗之间的有效合作,也最大限度地提高适应性.本节对斑点鬣狗的狩猎技术和社会关系进行数学建模.这种行为的 ...

  7. 【BP数据预测】斑点鬣狗算法优化BP神经网络数据预测【含Matlab 219期】

    ⛄一.斑点鬣狗算法简介 斑点鬣狗的行为可以简化为搜索.包围.狩猎和攻击猎物.建立粘性集群有助于斑点鬣狗之间的有效合作,也最大限度地提高适应性.本节对斑点鬣狗的狩猎技术和社会关系进行数学建模.这种行为的 ...

  8. 【BP数据预测】差分进化算法优化BP神经网络数据预测【含Matlab源码 1315期】

    ⛄一.差分进化算法简介 1 前言 在遗传.选择和变异的作用下,自然界生物体优胜劣汰,不断由低级向高级进化和发展.人们注意到,适者生存的进化规律可以模式化,从而构成一些优化算法:近年来发展的进化计算类算 ...

  9. 【BP数据预测】布谷鸟算法优化BP神经网络数据预测【含Matlab源码 1121期】

    ⛄一.布谷鸟算法简介 布谷鸟算法,英文叫做Cuckoo search (CS algorithm).首先还是同样,介绍一下这个算法的英文含义, Cuckoo是布谷鸟的意思,啥是布谷鸟呢,是一种叫做布谷 ...

  10. 基于双隐含层的BP神经网络数据预测matlab仿真

    目录 1.算法仿真效果 2.MATLAB源码 3.算法概述 4.部分参考文献 1.算法仿真效果 matlab2022a仿真结果如下:

最新文章

  1. 如何使用OpenCV自动校正文本图像
  2. 【UOJ575】光伏元件【网络流建图】【上下界网络流】【费用流】
  3. 二项式法在负荷计算机的应用,7.5二项式法确定计算负荷
  4. Nginx多进程高并发、低时延、高可靠机制在滴滴缓存代理中的应用
  5. 1006 换个格式输出整数 (15)
  6. Java-JDK:JDK百科
  7. 分享一篇去年的项目总结
  8. 阿里云短信服务的使用(创建,测试笔记)
  9. 手把手教你用 Keras 实现 LSTM 预测英语单词发音
  10. MongoDB数据库入门到精通看这一篇就够了
  11. 2019_Generative Adversarial Networks for Extreme Learned Image Compression
  12. A Cleaned, Hypernymed, Image Alt-text Dataset For Automatic Image CaptioningTransformer
  13. 0x0000050蓝屏srvsys_win7电脑出现蓝屏0x00000050提示srv.sys如何解决
  14. opencv教程(基于python)----关于滑条
  15. 安卓开发自学教程,Android研发岗必问30+道高级面试题
  16. 华为设备配置OSPF负载分担
  17. pdcch加扰_一种基站/终端及其PDCCH加扰/解扰的方法和装置_2014104470078_权利要求书_专利查询_专利网_钻瓜专利网...
  18. 《化工流体力学》课程笔记(四)
  19. NLP中遇到的各类Attention结构汇总以及代码复现
  20. Android 统计流量数据

热门文章

  1. TinyMCE 富文本编辑器 ━━ 自定义插件之弹窗基础设置(整理)
  2. 【DirectX3D - 5】渲染多路视频(单一窗口)
  3. 水滴IP教你如何查询QQ好友的IP地址
  4. Android 友盟分享简单Demo
  5. iOS 集成友盟分享图片链接为http时无法加载问题解决
  6. 计算机财务管理期末考试题及答案,计算机财务管理期末考工资部分题目及答案...
  7. cmd-ssh使用说明
  8. 《21天学通C语言》总结(1)
  9. 9年测试老鸟:Glenford J编写《软件测试的艺术》PDF,高清中文版
  10. win7虚拟机_VMware8虚拟机安装教程