基于Keras 的波士顿房价预测回归问题
时间: 2024-12-28 15:34:25 浏览: 26
基于Keras进行波士顿房价预测回归问题,通常涉及以下几个步骤:
1. **数据导入**:首先从sklearn库加载波士顿房价数据集(Boston Housing Dataset),这是一个经典的机器学习数据集,包含了房屋的各种特征以及对应的房价。
```python
from sklearn.datasets import load_boston
boston = load_boston()
X, y = boston.data, boston.target
```
2. **数据预处理**:对数据进行标准化或归一化,以便更好地应用到神经网络模型中。
```python
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
```
3. **构建模型**:使用Keras创建一个简单的线性回归模型,也可以尝试更复杂的模型如神经网络(使用Sequential API)。
```python
import keras
from keras.models import Sequential
from keras.layers import Dense
model = Sequential([
Dense(64, activation='relu', input_shape=(X.shape[1],)), # 输入层和隐藏层
Dense(1) # 输出层,只有一个节点用于预测房价
])
```
4. **编译模型**:设置损失函数、优化器和评估指标。
```python
model.compile(loss='mean_squared_error', optimizer=keras.optimizers.RMSprop(), metrics=['mae'])
```
5. **训练模型**:将数据分为训练集和验证集,然后通过fit()方法训练模型。
```python
from sklearn.model_selection import train_test_split
X_train, X_val, y_train, y_val = train_test_split(X_scaled, y, test_size=0.2)
history = model.fit(X_train, y_train, validation_data=(X_val, y_val), epochs=100, batch_size=32)
```
6. **评估与预测**:最后,使用测试集评估模型性能,并进行房价预测。
```python
score = model.evaluate(X_val, y_val)
print('Test loss:', score[0])
```
阅读全文