日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

BP神经网络数据预测(excel)

發(fā)布時(shí)間:2023/12/10 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BP神经网络数据预测(excel) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

整體的處理思路是
先加載訓(xùn)練數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,然后再進(jìn)行預(yù)測(cè),最后輸出預(yù)測(cè)值。

main()

import numpy as py import DataLoad as dataload import ModelTrain as modeltrain import DataPrediction as datapredictiondef main():data_train = dataload.load_data_train() # 加載訓(xùn)練數(shù)據(jù) print(data_train) modeltrain.Train_Model(data_train) # 對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練data_pre = dataload.load_data_pre() # 加載需要預(yù)測(cè)的數(shù)據(jù)data_real = dataload.load_data_real() # 加載數(shù)據(jù)的真實(shí)值print(data_pre)print(3)pre_result = dataprediction.Predict_Data(data_pre) 進(jìn)行預(yù)測(cè)print("真實(shí)值為:%d"%(data_real)+" 預(yù)測(cè)結(jié)果為:%d" % (pre_result))if __name__ == '__main__':main()

數(shù)據(jù)加載 DataLoad。

import numpy as np import pandas as pd data = pd.read_csv("./2015(z).CSV") #讀取csv格式的文件全部數(shù)據(jù) data1 = np.mat(data) #數(shù)據(jù)矩陣化 pre_raw = 30 #需要預(yù)測(cè)值所在行數(shù) # print (data1) def load_data_train():data_train = data1[0:26, 3:47] # 取出數(shù)據(jù)的第1行到26行中的第4列到47列作為訓(xùn)練數(shù)據(jù)print(data_train)return data_traindef load_data_pre():data_pre = data1[pre_raw, 3:46].astype('float64') #第31行第4列到第46列為輸入數(shù)據(jù)data_mean = data_pre.mean() #求平均值data_std = data_pre.std() #求標(biāo)準(zhǔn)差data_pre = (data_pre - data_mean) / data_std #標(biāo)準(zhǔn)化return data_predef load_data_real():data_real = data1[pre_raw, 46] 取出第31行的第47列數(shù)據(jù)return data_real

模型訓(xùn)練 ModelTrain

import numpy as np from keras.models import Sequential from keras.layers.core import Dense, Activationdef Train_Model(data_train):modelfile = './modelweight' #此位置保存訓(xùn)練模型過(guò)程中的權(quán)重y_mean_std = "./y_mean_std.txt" # 保存標(biāo)準(zhǔn)化過(guò)程中的數(shù)據(jù),后邊數(shù)據(jù)還原需要用到data_train = np.matrix(data_train).astype('float64')data_mean = np.mean(data_train, axis=0)#對(duì)列求平均值data_std = np.std(data_train, axis=0)#計(jì)算每一列的標(biāo)準(zhǔn)差# data_train = (data_train - data_mean) / data_stdprint(1)x_train = data_train[:, 0:(data_train.shape[1] - 1)] #所有數(shù)據(jù)(除最后一列)作為輸入xy_train = data_train[:, data_train.shape[1] - 1] #所有數(shù)據(jù)的最后一列作為輸出yprint(x_train)print(y_train)#模型訓(xùn)練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) #保存模型權(quán)重y_mean = data_mean[:, data_train.shape[1] - 1]y_std = data_std[:, data_train.shape[1] - 1]print("訓(xùn)練完畢")# 將標(biāo)準(zhǔn)差過(guò)程中的參數(shù)寫(xiě)入文件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)

數(shù)據(jù)預(yù)測(cè) 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())#輸出參數(shù)param計(jì)算過(guò)程return pre_result

總結(jié)

以上是生活随笔為你收集整理的BP神经网络数据预测(excel)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。