采用Keras序列模型,实现波士顿房价预测问题的建模与训练
时间: 2024-03-09 19:48:48 浏览: 58
keras 神经网络解决回归问题实例_波士顿房价预测.rar
5星 · 资源好评率100%
好的,以下是一个使用 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)
```
在这个模型中,我们使用了一个包含两个隐藏层的全连接神经网络,使用 ReLU 激活函数,并将输出层设置为单个节点,以进行回归预测。我们使用 MSE 作为损失函数,Adam 优化器进行优化,并追踪 MAE 指标。我们使用 train_test_split 函数将数据集划分为训练集和测试集,并使用 StandardScaler 对特征数据进行标准化。在训练期间,我们使用历史记录对象来追踪训练和验证的损失和指标。最后,我们在测试集上评估模型的表现,并打印测试集上的 MAE 指标。
阅读全文