使用tensorflow2.0.0版本实现多变量线性回归模型,要求有准备数据、构建模型、训练模型、预测模型四个步骤,使用np.random.seed准备数据,权重有3个,分别为9.0、2.0、8.0,偏置为1.0,无需在控制台输出结果,但是要使用matplotlib输出图像
时间: 2024-06-03 20:08:23 浏览: 70
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# 准备数据
np.random.seed(1)
num_samples = 1000
true_weights = np.array([9.0, 2.0, 8.0]).reshape(-1, 1)
true_bias = 1.0
features = np.random.normal(size=(num_samples, 3))
labels = np.dot(features, true_weights) + true_bias + np.random.normal(scale=0.01, size=(num_samples, 1))
# 构建模型
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(1, input_shape=(3,)))
# 训练模型
model.compile(optimizer='sgd', loss='mse')
history = model.fit(features, labels, epochs=100, batch_size=10, validation_split=0.2)
# 预测模型
preds = model.predict(features)
# 输出图像
plt.figure()
plt.scatter(labels, preds)
plt.plot([-10, 10], [-10, 10], 'r')
plt.xlabel('true values')
plt.ylabel('predictions')
plt.show()
阅读全文