Keras 是一个功能强大且易于使用的 Python 库,用于开发和评估深度学习模型。
它包含高效的数值计算库 Theano 和 TensorFlow,允许你使用几行代码定义和训练神经网络模型。
在这篇文章中,你将了解如何使用 Keras 和 Python 中创建你的第一个神经网络模型。
让我们开始吧。
概览
我们不需要很多代码,但我们会慢慢跨过它,以便你将来知道如何创建自己的模型。
本教程中介绍的步骤如下:
- 加载数据
- 定义模型
- 编译模型
- 拟合模型
- 评估模型
- 把它放在一起
本教程有一些要求:
你已安装并配置了Python 3。 你已安装并配置了 SciPy(包括 NumPy)。 你安装并配置了 Keras 和后端(Theano 或 TensorFlow)。
如果你需要环境方面的帮助,请参阅教程:
创建一个名为keras_first_network.py
的新文件,然后在前进过程中,将代码键入或复制并粘贴到文件中。
1. 加载数据
每当我们处理使用随机过程(例如随机数)的机器学习算法时,最好设置随机数种子。
这样你就可以反复运行相同的代码并获得相同的结果。如果你需要演示结果,使用相同的随机源比较算法,或调试代码的一部分,这非常有用。
你可以使用你喜欢的任何种子初始化随机数生成器,例如:
from keras.models import Sequential
from keras.layers import Dense
import numpy
# fix random seed for reproducibility
numpy.random.seed(7)
现在我们可以加载我们的数据。
在本教程中,我们将使用皮马印第安人糖尿病数据集。 这是来自 UCI 机器学习库的标准机器学习数据集。 它描述了皮马印第安人的患者病历数据,以及他们是否在五年内患有糖尿病。
因此,它是二元分类问题(糖尿病发作为 1 或没有为 0)。 描述每个患者的所有输入变量都是数字的。 这使得它可以直接用于接受数字输入和输出值的神经网络,是我们在 Keras 的第一个神经网络的理想选择。
下载数据集并将其放在本地工作目录中,与 python 文件相同。 使用文件名保存:
pima-indians-diabetes.csv
你现在可以使用 NumPy 函数loadtxt()
直接加载文件。 有八个输入变量和一个输出变量(最后一列)。 加载后,我们可以将数据集拆分为输入变量(X
)和输出类变量(Y
)。
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:8]
Y = dataset[:,8]
我们初始化了随机数生成器,以确保我们的结果可重现并加载我们的数据。 我们现在准备定义我们的神经网络模型。
注意,数据集有 9 列,范围 0:8 将选择 0 到 7 之间的列,在索引 8 之前停止。如果这对你来说是新的,那么你可以在此博文中了解数组切片和范围的更多信息:
- 如何在 Python 中为机器学习索引,切片和重塑 NumPy 数组
2. 定义模型
Keras 中的模型被定义为层的序列。
网友评论