from keras.datasets import boston_housing
import numpy as np
from keras import models
from keras import layers
import matplotlib.pyplot as plt
#x,13个特征,一共404条数据
#y,连续值标签,单位是千美元
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()
#对数据做原处理,特征标准化
#每个特征减去平均值,除以标准差,得到的特征平均值为0,标准差为1
avg = x_train.mean(axis=0)
x_train -= avg
std = np.std(x_train,axis=0)
x_train /=std
network = models.Sequential()
network.add(layers.Dense(64,activation='relu'))
network.add(layers.Dense(64,activation='relu'))
network.add(layers.Dense(1))
#mse均方误差,预测值与目标值差的平方
#mae平均绝对误差,预测值与目标值差的绝对值
network.compile(optimizer='rmsprop',loss='mse',metrics=['mae'])
history = network.fit(x_train,y_train,batch_size=16,epochs=80,validation_split=0.1)
mae = history.history['val_mean_absolute_error']
epochs = range(1,81)
#loss的图
plt.plot(epochs,mae,'g',label = 'mae')
plt.xlabel('epochs')
plt.ylabel('mean_absolute_error')
#显示图例
plt.legend()
plt.show()
![]()