Tensorflow2-ilinear-regression-random-data
1.生成随机数据
x = []
y = []
for i in range(1,25):
tem = i + random.random()*4
x.append(tem)
y.append(1.3*tem + random.random()*10)
plt.scatter(x, y)
plt.title("随机生成的数据")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.show()
2.TF回归
tf.config.set_soft_device_placement(True)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1,input_shape=(1,),activation="relu"),
tf.keras.layers.Dense(5,activation="relu"),
tf.keras.layers.Dense(1)
])
model.compile(optimizer="RMSprop", loss="mse")
history = model.fit(x,y,epochs=1000)
model.predict([5])
type1 = plt.scatter(x, y1)
type2 = plt.scatter(x, y)
plt.legend((type1,type2),('回归数据','原始数据'))
plt.title("随机生成的数据&回归数据")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.show()
3.补充&&完整代码
optimizer可以选择 RMSprop 、Adam 、Nadam 等方法,但是神经网络层数可能要修改
import random
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
x = []
y = []
for i in range(1,25):
tem = i + random.random()*4
x.append(tem)
y.append(1.3*tem + random.random()*10)
plt.scatter(x, y)
plt.title("随机生成的数据")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.show()
tf.config.set_soft_device_placement(True)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1,input_shape=(1,),activation="relu"),
tf.keras.layers.Dense(5,activation="relu"),
tf.keras.layers.Dense(1)
])
model.compile(optimizer="RMSprop", loss="mse")
history = model.fit(x,y,epochs=1000)
model.predict([5])
type1 = plt.scatter(x, y1)
type2 = plt.scatter(x, y)
plt.legend((type1,type2),('回归数据','原始数据'))
plt.title("随机生成的数据&回归数据")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.show()
最后修改: 2022-09-11T21:32:49
版权声明:署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
comment 评论