这个回归问题依然五步走,但细节上有所不同:原始数据集的访问与处理(分配训练预测集、数据标准化……)
搭建网络
编译模型:优化器、损失函数、关注指标
模型训练与验证(这里使用K折交叉验证)
效果评估、预测
第一步:
查看原数据集
from keras.datasets import boston_housing
(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()
>>> train_data.shape
(404, 13)
>>> test_data.shape
(102, 13)
>>> train_targets
array([ 15.2, 42.3, 50. ... 19.4, 19.4, 29.1])
数据标准化
mean = train_data.mean(axis=0)
train_data -= mean
std = train_data.std(axis=0)
train_data /= std
test_data -= mean
test_data /= std
用于测试数据标准化的均值和标准差都是在训练数据上计算得到的。在工作流程中, 你不能使用在测试数据上计算得到的任何结果,即使是像数据标准化这么简单的事情也不行。
第二步&第三步:
网络的最后一层只有一个单元,没有激活