Keras实现BP神经网络(代码更新版2020)

小白踩坑日记001

在下代码小白

最近学习前辈们的诸如《BP神经网络–Keras实现》之类的文章

结果大小报错不断

原来 时间有点久了 部分代码已经更新

在此 把踩坑之后的新代码贴出

以供同样是小白的朋友们参考

并向前辈们致敬

下面是正文:

import pandas as pd

inputfile=‘input.xlsx’

outputfile=‘output.xls’

modelfile=‘modelweight.model’

data=pd.read_excel(inputfile,index=‘Date’,sheet_name=0)
#第一个坑出自这里 原文是sheetname=0 现已更新为sheet_name=0

feature=[‘F1’,‘F2’,‘F3’,‘F4’]

label=[‘L1’]

data_train=data.loc[range(0,20)].copy()

data_mean=data_train.mean()

data_std=data_train.std()

data_train=(data_train - data_mean)/data_std

x_train=data_train[feature].values

y_train=data_train[label].values
#第二个坑出在这里 原文是.as_matrix() 现在更新为.values

from keras.optimizers import SGD,adam

from keras.models import Sequential

from keras.layers.core import Dense,Activation

model=Sequential()

model.add(Dense(12,input_dim=4,kernel_initializer=‘uniform’))
#第三个坑出自这里 原文是init=‘uniform’ 现在更新为kernel_initializer=‘uniform’

model.add(Activation(‘relu’))

model.add(Dense(1,input_dim=12))

model.compile(loss=‘mean_squared_error’,optimizer=‘adam’)

model.fit(x_train,y_train,epochs=1000,batch_size=6)
#第四个坑出自这里 原文是nb_epoch= 现已更新为epochs=

model.save_weights(modelfile)

x=((data[feature]-data_mean[feature]/data_std[feature].values))

data[u’L1_pred’]=model.predict(x)*data_std[‘L1’]+data_mean[‘L1’]

data.to_excel(outputfile)

import matplotlib.pyplot as plt

p=data[[‘L1’,‘L1_pred’]].plot(subplots=True,style=[‘b-o’,‘r-*’])

plt.show()

代码部分完毕

上述就是4大坑 其实也就是代码更新

希望能有帮助

附:input.xlsx的内容
Keras实现BP神经网络(代码更新版2020)_第1张图片

你可能感兴趣的:(Keras实现BP神经网络(代码更新版2020))