神经网络预测波士顿房价python绘图代码
时间: 2023-07-08 15:21:31 浏览: 162
以下是使用Python绘制波士顿房价神经网络预测图的示例代码:
```python
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.preprocessing import scale
# 加载波士顿房价数据集
boston = load_boston()
# 数据预处理
x_data = scale(boston.data)
y_data = boston.target.reshape(-1, 1)
# 定义模型
x = tf.placeholder(tf.float32, shape=[None, 13])
y = tf.placeholder(tf.float32, shape=[None, 1])
w = tf.Variable(tf.random_normal([13, 1]))
b = tf.Variable(tf.zeros([1]))
y_pred = tf.matmul(x, w) + b
# 定义损失函数和优化器
loss = tf.reduce_mean(tf.square(y - y_pred))
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)
# 训练模型
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(500):
_, train_loss = sess.run([optimizer, loss], feed_dict={x: x_data, y: y_data})
if i % 50 == 0:
print("step:", i, "loss:", train_loss)
# 预测结果
y_pred_value = sess.run(y_pred, feed_dict={x: x_data})
# 绘制图像
plt.scatter(y_data, y_pred_value)
plt.plot([y_data.min(), y_data.max()], [y_data.min(), y_data.max()], 'k--', lw=4)
plt.xlabel('True Prices')
plt.ylabel('Predicted Prices')
plt.show()
```
这段代码使用TensorFlow实现了一个简单的线性回归模型,用于预测波士顿房价。在训练模型后,使用matplotlib绘制了一个散点图,展示了预测结果与真实结果之间的关系。
阅读全文