如何使用keras快速搭建神经网络模型
前言
提示:这里可以添加本文要记录的大概内容:
随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习中keras构建神经网络模型的基础内容。
以下是本篇文章正文内容,下面案例可供参考
一、keras是什么?
示例:keras 是基于tensorflow开发环境下的一种快速建模工具,该工具是为了解决机器学习任务而创建的。
二、MLP/ANN使用步骤
1.引入库
代码如下:
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.metrics import mean_squared_error
from math import sqrt
2.读入数据
代码如下:
data = pd.read_csv('trainingset_90%_1.csv')
x_training = data.iloc[:,:16]
y_training = data.iloc[:,16:19]
# print(x_training)
# print(y_training)
#data.head()
#plt.scatter(data.J1,data.Fx)
data1 = pd.read_csv('testset_10%.csv')
x_test = data1.iloc[:,:16]
y_test = data1.iloc[:,16:19]
# print(x_test)
# print(y_test)
#data.head()
3.配置模型
代码如下:
model = tf.keras.Sequential([tf.keras.layers.Dense(units=64,input_shape=(16,),use_bias=True,kernel_initializer='uniform',bias_initializer='zeros',activation='relu'),
tf.keras.layers.Dense(64,activation='sigmoid'),
tf.keras.layers.Dense(64,activation='sigmoid'),
tf.keras.layers.Dense(3)]
)
model.summary()
model.compile( optimizer = 'adam',
loss = 'mse'
)
history = model.fit(x_training, y_training, epochs=100)
print('training loss',model.evaluate(x_training,y_training))
print('test loss',model.evaluate(x_test,y_test))
4.画曲线
代码如下:
z=np.linspace(1,len(x_test),len(x_test))
y_test_predict = model.predict(x_test)
plt.plot(z,y_test,'ro-')
plt.plot(z,y_test_predict,'bo-')
plt.ylabel("Fx[N]")
plt.xlabel("Time[s]")
Fx = y_test.Fx
Fy = y_test.Fy
Fz = y_test.Fz
Fx_predict = y_test_predict[:,0]
Fy_predict = y_test_predict[:,1]
Fz_predict = y_test_predict[:,2]
plt.plot(z,Fx,'ro-')
plt.plot(z,Fx_predict,'bo-')
plt.ylabel("Fx[N]")
plt.xlabel("Time[s]")
plt.plot(z,Fy,'ro-')
plt.plot(z,Fy_predict,'bo-')
plt.ylabel("Fy[N]")
plt.xlabel("Time[s]")
plt.plot(z,Fz,'ro-')
plt.plot(z,Fz_predict,'bo-')
plt.ylabel("Fz[N]")
plt.xlabel("Time[s]")
5.求RMSE
代码如下:
Fx_rms = sqrt(mean_squared_error(Fx,Fx_predict))
print('Fx_rms =',Fx_rms)
Fy_rms = sqrt(mean_squared_error(Fy,Fy_predict))
print('Fy_rms =',Fy_rms)
Fz_rms = sqrt(mean_squared_error(Fz,Fz_predict))
print('Fz_rms =',Fz_rms)
总结
以上就是今天要讲的内容,本文仅仅简单介绍了keras构建多层感知机或人工神经网络的基本使用。