采用Keras序列模型,实现波士顿房价预测问题的建模与训练并进行模型应用
时间: 2024-03-09 15:48:54 浏览: 133
好的,以下是一个使用 Keras 序列模型实现波士顿房价预测问题的建模和训练,并进行模型应用的代码:
```python
import tensorflow as tf
from tensorflow import keras
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# 加载波士顿房价数据集
boston = load_boston()
X, y = boston.data, boston.target
# 对特征数据进行标准化处理
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 构建 Keras 序列模型
model = keras.models.Sequential([
keras.layers.Dense(64, activation='relu', input_shape=(X_train.shape[1],)),
keras.layers.Dense(32, activation='relu'),
keras.layers.Dense(1)
])
# 编译模型
model.compile(loss='mse', optimizer='adam', metrics=['mae'])
# 训练模型
history = model.fit(X_train, y_train, epochs=100, batch_size=16, validation_split=0.2)
# 在测试集上评估模型表现
test_loss, test_mae = model.evaluate(X_test, y_test)
print('Test MAE:', test_mae)
# 进行预测
predictions = model.predict(X_test[:5]).flatten()
print('Predictions:', predictions)
print('Actual values:', y_test[:5])
```
在这个代码中,我们首先加载波士顿房价数据集,将特征数据进行标准化处理,并划分为训练集和测试集。然后,我们构建了一个包含两个隐藏层的全连接神经网络,并使用 MSE 作为损失函数,Adam 优化器进行优化,并追踪 MAE 指标。我们在训练期间使用了历史记录对象来追踪训练和验证的损失和指标,并在测试集上评估了模型的表现。最后,我们使用 predict 函数对测试集的前五个样本进行预测,打印了预测值和实际值。
阅读全文