Keras-线性回归

最近毕业设计需要用到keras,简单做个记录,以备不时之需
首先介绍一下keras-Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行,所以画重点-keras一定要配置好tensorflow包,只有keras是不行滴
下面以线性回归为例,将大体步骤熟悉一下
step1:导入模块和数据

import matplotlib.pyplot as plt
from keras.layers import Dense
from keras.models import Sequential
import numpy as np
x_train = [1, 1.2, 1.4, 1.5, 1.8, 2, 2.5, 3, 4, 5, 6.2]
y_train = [3, 5, 8, 9, 12, 16.5, 23.5, 43.7, 68.5, 89.3, 120]

step2数据的处理
为方便keras的处理,首先要将数组转为numpy数组,然后进行一次塑形。

x_train=np.array(x_train)
y_train=np.array(y_train)
#对numpy数组进行塑形
x_train=np.reshape(x_train,(11,1))
y_train=np.reshape(y_train,(11,1))

step3模型的建立
Keras 的核心数据结构是 model,一种组织网络层的方式。最简单的模型是 Sequential 顺序模型,它由多个网络层线性堆叠,由于现在只是熟悉一下keras,所以不妨使用这个最简单的模型

model=Sequential()
model.add(Dense(1,input_shape=(1,),activation=None))
model.compile(optimizer='sgd',loss='mse')
model.summary()

在创建模型后首先要使用add来堆叠模型,其中Dense函数各参数的定义如下:第一个代表单元数,可以理解成模型有几个神经元,input_shape是输入形状,表示每个数据点是多少维度的向量(这就是前面数据塑形处理的原因),最后是激活函数
然后使用compile配置学习过程,optimizer代表优化器,这里我们使用的是梯度下降法故写为’sgd’,loss还是代表损失函数,我们使用的事均方根误差
最后是模型总结,我们可以用来输出各层模型的情况
也就是下面这东西
Keras-线性回归_第1张图片
step4模型的拟合
模型建立完毕后,下面就要进行模型的拟合了,代码很简单,一行就够了

model.fit(x=x_train,y=y_train,epochs=2000,verbose=2)

这里特别强调一下verbose表示日志显示,其中0为不显示,1显示进度条,2迭代一次显示一行


以上就是keras简单线性回归的建立过程了

你可能感兴趣的:(keras,keras,线性回归)