使用tensorflow2.0.0版本实现多变量线性回归模型,要求有准备数据、构建模型、训练模型、预测模型四步,权重有3个,分别为9.0、2.0、8.0,偏置为1.0,无需在控制台输出结果,但是要使用matplotlib输出模型图像
时间: 2024-06-01 13:12:33 浏览: 100
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# 准备数据
x1 = np.random.rand(100) * 10
x2 = np.random.rand(100) * 5
x3 = np.random.rand(100) * 3
y = 9.0 * x1 + 2.0 * x2 + 8.0 * x3 + 1.0
# 构建模型
inputs = tf.keras.layers.Input(shape=(3,))
outputs = tf.keras.layers.Dense(units=1)(inputs)
model = tf.keras.models.Model(inputs=inputs, outputs=outputs)
# 训练模型
model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.01), loss='mse')
model.fit(x=[x1, x2, x3], y=y, epochs=100)
# 预测模型
x1_test = np.random.rand(10) * 10
x2_test = np.random.rand(10) * 5
x3_test = np.random.rand(10) * 3
y_pred = model.predict([x1_test, x2_test, x3_test])
# 输出模型图像
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x1_test, x2_test, x3_test, c='r', marker='o')
ax.scatter(x1_test, x2_test, y_pred, c='b', marker='^')
ax.set_xlabel('x1')
ax.set_ylabel('x2')
ax.set_zlabel('y')
plt.show()
阅读全文