Keras – 使用MPL进行回归预测
在本章中,让我们编写一个简单的基于MPL的ANN来做回归预测。到现在为止,我们只做了基于分类的预测。现在,我们将尝试通过分析之前的(连续)数值及其影响因素来预测下一个可能的数值。
回归的MPL可以表示如下
该模型的核心特征如下
- 输入层由(13,)个值组成。
-
第一层, Dense 由64个单元和’relu’激活函数与’normal’核初始化器组成。
-
第二层, Dense 由64个单元和’relu’激活函数组成。
-
输出层, Dense 由1个单元组成。
-
使用 mse 作为损失函数。
-
使用 RMSprop 作为优化器。
-
使用 精度 作为指标。
-
使用128作为批次大小。
-
使用500次作为epochs。
第1步 – 导入模块
让我们导入必要的模块。
第2步 – 加载数据
让我们导入波士顿住房数据集。
这里、
boston_housing 是一个由Keras提供的数据集。它代表了波士顿地区的住房信息的集合,每一个都有13个特征。
第3步–处理数据
让我们根据我们的模型来改变数据集,这样,我们就可以将其输入我们的模型。可以使用以下代码来改变数据
在这里,我们使用 sklearn.preprocessing.scale 函数对训练数据进行了归一化处理。 preprocessing.StandardScaler().fit 函数返回一个带有训练数据归一化平均值和标准差的标量,我们可以使用 scalar.transform 函数将其应用到测试数据中。这将使测试数据与训练数据的设置相同。
第4步 – 创建模型
让我们创建实际的模型。
第5步 – 编译模型
让我们使用选定的损失函数、优化器和度量标准来编译模型。
第6步 – 训练模型
让我们使用 fit() 方法训练模型。
在这里,我们使用了回调函数 EarlyStopping。 这个回调函数的目的是监测每个历时的损失值,并将其与前一个历时的损失值进行比较,以发现训练中的改进。如果在 忍耐 时间内没有改善,那么整个过程将被停止。
执行该程序将给出以下信息作为输出
第7步 – 评估模型
让我们使用测试数据来评估该模型。
执行上述代码将输出以下信息—
第8步 – 预测
最后,使用测试数据进行预测,如下所示
上述应用程序的输出如下 −
两个阵列的输出结果有大约10-30%的差异,这表明我们的模型预测的范围是合理的。