神经网络-1

import pandas as pd
inputflie='data.xlsx'
outputflie='revenue.xlsx'
modelflie='net.model'
data=pd.read_excel(inputflie)
feature=['x1','x2','x3','x4','x5','x6','x7']
data_train=data.loc[range(1,52)].copy()
data_mean=data_train.mean()
data_std=data_train.std()
data_train=(data_train-data_mean)/data_std
x_train=data_train[feature].as_matrix()
y_train=data_train['y']
from keras.models import Sequential
from keras.layers.core import Dense,Activation
#建立模型
model=Sequential()
model.add(Dense(input_dim=7,units=14))
# 用relu做激活函数,能够大幅度提供准确度
model.add(Activation('relu'))
model.add(Dense(input_dim=14,units=1))
# compile用来编译模型
model.compile(loss='mean_squared_error',optimizer='adam')
# 训练模型,学习3万次
model.fit(x_train,y_train,epochs=40000,batch_size=15)
# 保存模型参数
model.save_weights(modelflie)
#预测并还原结果
x=((data[feature]-data_mean[feature])/data_std[feature]).as_matrix()
data[u'y_pred']=model.predict(x)*data_std['y']+data_mean['y']
data.to_excel(outputflie)
# 展示Y与预测值Y
import matplotlib.pyplot as plt
p=data[['y','y_pred']].plot(subplots=True,style=['b-o','r-*'])
plt.show()

猜你喜欢

转载自blog.csdn.net/huarui0820/article/details/83542109