小白踩坑日记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大坑 其实也就是代码更新
希望能有帮助