tensorflow 2.0入门 利用tf.keras实现线性回归模型

import tensorflow as tf
import random
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei'] #设置字体 以便识别中文
plt.rcParams['font.size'] = 24   #设置字体

#回归方程    z = 2*x + 3

#构造数据
x = [i for i in range(1,20)]
y = [(2*i + 3) for i in x]
z = [(i + random.randint(-3,3)) for i in y]
#查看数据
fig = plt.figure(figsize=(12,8))
plt.scatter(x,z) #x轴数据 和y轴数据
plt.plot(x,y,color='green') #原始曲线
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.show()


x_train = x
y_train = z
#使用 tf.keras.Sequential 建立模型,并且选择优化器和损失函数
model = tf.keras.models.Sequential([
  tf.keras.layers.Dense(1, input_shape=(1,))
])

model.compile(optimizer='adam',
              loss='mse',
              metrics=['accuracy'])

model.fit(x_train,y_train,epochs=10000)

#查看模型
q = model.predict(x)  #预测值
fig = plt.figure(figsize=(12,8))
plt.scatter(x,z) #x轴数据 和y轴数据
plt.plot(x,q[:,0],color='red') #训练曲线
plt.plot(x,y,color='green') #原始曲线
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.show()

发布了49 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44166997/article/details/102995566
今日推荐