参数为PTRATIO,RAD,ZN,CRIM写一个波士顿房价预测神经网络python代码并将数据可视化
时间: 2024-06-09 13:09:56 浏览: 147
波士顿房价预测 python
5星 · 资源好评率100%
以下是一个简单的波士顿房价预测神经网络的 Python 代码,使用了 Tensorflow 和 Keras 库:
```python
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import matplotlib.pyplot as plt
# 导入数据
data = pd.read_csv('boston.csv')
# 数据预处理
x = data[['PTRATIO', 'RAD', 'ZN', 'CRIM']].values
y = data[['MEDV']].values
x = (x - x.mean()) / x.std() # 标准化处理
# 创建模型
model = Sequential()
model.add(Dense(32, input_shape=(4,), activation='relu'))
model.add(Dense(1, activation='linear'))
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 训练模型
history = model.fit(x, y, epochs=100, batch_size=32, validation_split=0.2)
# 可视化训练过程
plt.plot(history.history['loss'], label='train')
plt.plot(history.history['val_loss'], label='val')
plt.legend()
plt.show()
# 预测结果
x_pred = np.array([[15.3, 5.4, 18.0, 0.05]]) # 输入要预测的数据
x_pred = (x_pred - x.mean()) / x.std() # 标准化处理
y_pred = model.predict(x_pred)
print('预测结果:', y_pred[0][0])
```
代码中使用了波士顿房价数据集中的 PTRATIO、RAD、ZN 和 CRIM 四个特征进行预测。首先将数据进行标准化处理,然后使用一个包含两个全连接层的神经网络进行训练,使用均方误差作为损失函数,优化器选择 Adam。训练过程中使用了 20% 的数据进行验证,训练 100 个 epoch。最后可视化训练过程,并使用训练好的模型进行预测。
注意:这只是一个简单的示例代码,实际应用中可能需要更多的特征和更复杂的模型来提高预测精度。
阅读全文