循环神经网络预测房价代码
时间: 2023-08-25 22:06:50 浏览: 99
以下是一个使用循环神经网络(RNN)预测房价的示例代码:
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, LSTM
# 读取数据集
data = pd.read_csv('house_prices.csv')
# 提取特征和标签
X = data.drop('price', axis=1).values
y = data['price'].values
# 数据归一化
scaler = MinMaxScaler()
X = scaler.fit_transform(X)
y = scaler.fit_transform(y.reshape(-1, 1))
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建RNN模型
model = Sequential()
model.add(LSTM(50, activation='relu', input_shape=(X_train.shape[1], 1)))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error')
# 训练模型
model.fit(X_train.reshape(X_train.shape[0], X_train.shape[1], 1), y_train, epochs=100, batch_size=32)
# 在测试集上进行预测
predictions = model.predict(X_test.reshape(X_test.shape[0], X_test.shape[1], 1))
# 反归一化预测结果
predictions = scaler.inverse_transform(predictions)
# 打印预测结果
for i in range(len(predictions)):
print('实际房价:{},预测房价:{}'.format(y_test[i], predictions[i]))
```
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体情况进行调整和优化。此外,代码中使用了 TensorFlow 和 scikit-learn 库,需要提前安装它们。另外,确保数据集文件 'house_prices.csv' 存在,并且数据集的特征列除去 'price' 列,标签列为 'price' 列。
阅读全文