卷积神经网络波士顿房价的代码
时间: 2023-09-20 07:14:25 浏览: 154
以下是使用卷积神经网络(CNN)进行波士顿房价预测的示例代码:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from keras.models import Sequential
from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense
# 加载数据集
boston = load_boston()
X = boston.data
y = 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.2, random_state=42)
# 将数据重新整形为3D数组(样本数,时间步长,特征维度)
X_train = X_train.reshape((X_train.shape[0], X_train.shape[1], 1))
X_test = X_test.reshape((X_test.shape[0], X_test.shape[1], 1))
# 构建卷积神经网络模型
model = Sequential()
model.add(Conv1D(filters=32, kernel_size=3, activation='relu', input_shape=(X_train.shape[1], 1)))
model.add(MaxPooling1D(pool_size=2))
model.add(Flatten())
model.add(Dense(64, activation='relu'))
model.add(Dense(1))
# 编译模型
model.compile(loss='mean_squared_error', optimizer='adam')
# 训练模型
model.fit(X_train, y_train, epochs=100, batch_size=16, verbose=0)
# 在测试集上评估模型
mse = model.evaluate(X_test, y_test, verbose=0)
rmse = np.sqrt(mse)
print("Root Mean Squared Error (RMSE):", rmse)
```
在这个代码中,我们使用了Keras库来构建和训练卷积神经网络模型。首先,我们加载波士顿房价数据集,并进行数据预处理(标准化)。然后,我们将数据集划分为训练集和测试集,并将输入数据整形为3D数组。接下来,我们构建了一个简单的卷积神经网络模型,包括一个卷积层、一个池化层、一个展平层和两个全连接层。最后,我们编译模型并训练它,在测试集上评估预测性能。
请注意,这只是一个示例代码,你可以根据实际需求进行调整和改进。同时,你可能需要导入其他库和模块,以及进行更详细的模型调参和评估等步骤。
希望这个代码对你有所帮助!如果你有更多关于卷积神经网络或波士顿房价预测的问题,请随时提问。
阅读全文