tensorflow2.0线性回归,tensorflow 回归

  tensorflow2.0线性回归,tensorflow 回归

  这篇文章主要为大家详细介绍了张量流实现简单线性回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了张量流实现简单线性回归的具体代码,供大家参考,具体内容如下

  

简单的一元线性回归

  一元线性回归公式:

  其中x是特征:[x1,x2,x3,…,xn,]T

  w是权重,b是偏置值

  代码实现

  导入必须的包

  将张量流作为法国南部(French Southern Territories的缩写)导入

  将matplotlib.pyplot作为血小板计数导入

  将数组作为铭牌导入

  导入操作系统

  # 屏蔽警告以下的日志信息

  OS。environ[ TF _ CPP _ MIN _ LOG _ LEVEL ]= 2

  产生模拟数据

  定义生成数据():

  x=TF。常数(NP。array([I for I in range(0,100,5)]).整形(-1,1),tf.float32)

  y=tf.add(tf.matmul(x,[[1.3]]) 1,tf.random_normal([20,1],stddev=30))

  返回x,y

  x是100行一列的数据,tf.matmul是矩阵相乘,所以权值设置成二维的。

  设置的w是1.3,b是一

  实现回归

  def myregression():

  自实现线性回归

  :返回:

  x,y=generate_data()

  # 建立模型y=x * w b

  # w 1x1的二维数据

  w=tf .变量(tf.random_normal([1,1],mean=0.0,stddev=1.0),name=weight_a )

  b=tf .变量(0.0,name=bias_b )

  y_predict=tf.matmul(x,a) b

  # 建立损失函数

  损失=TF。reduce _均值(TF。square(y _ predict-y))

  # 训练

  train _ op=TF。火车。梯度下降优化器(0.1).最小化(损失=损失)

  # 初始化全局变量

  init _ op=TF。global _ variables _初始值设定项()

  用tf .会话()为sess:

  sess.run(init_op)

  打印(初始的权重:%f偏置值:% f"%(a . eval()、b.eval()))

  # 训练优化

  对于范围(1,100):内的我

  sess.run(训练_操作)

  打印(第%d次优化的权重:%f偏置值:%f % (i,a.eval(),b.eval()))

  # 显示回归效果

  show_img(x.eval(),y.eval(),y_predict.eval())

  使用绘制精美的图表查看回归效果

  def show_img(x,y,y_pre):

  平面散点图(x,y)

  plt.plot(x,y_pre)

  plt.show()

  完整代码

  将张量流作为法国南部(French Southern Territories的缩写)导入

  将matplotlib.pyplot作为血小板计数导入

  将数组作为铭牌导入

  导入操作系统

  OS。environ[ TF _ CPP _ MIN _ LOG _ LEVEL ]= 2

  定义生成数据():

  x=TF。常数(NP。array([I for I in range(0,100,5)]).整形(-1,1),tf.float32)

  y=tf.add(tf.matmul(x,[[1.3]]) 1,tf.random_normal([20,1],stddev=30))

  返回x,y

  def myregression():

  自实现线性回归

  :返回:

  x,y=generate_data()

  # 建立模型y=x * w b

  w=tf .变量(tf.random_normal([1,1],mean=0.0,stddev=1.0),name=weight_a )

  b=tf .变量(0.0,name=bias_b )

  y_predict=tf.matmul(x,w) b

  # 建立损失函数

  损失=TF。reduce _均值(TF。square(y _ predict-y))

  # 训练

  train _ op=TF。火车。gradiendescentoptimizer(0.0001).最小化(损失=损失)

  init _ op=TF。global _ variables _初始值设定项()

  用tf .会话()为sess:

  sess.run(init_op)

  打印(初始的权重:%f偏置值:%f % (w.eval()、b.eval()))

  # 训练优化

  对于我,范围为(1,35000):

  sess.run(训练_操作)

  打印(第%d次优化的权重:%f偏置值:%f % (i,w.eval(),b.eval()))

  show_img(x.eval(),y.eval(),y_predict.eval())

  def show_img(x,y,y_pre):

  平面散点图(x,y)

  plt.plot(x,y_pre)

  plt.show()

  if __name__==__main__:

  我的回归()

  看看训练的结果(因为数据是随机产生的,每次的训练结果都会不同,可适当调节梯度下降的学习率和训练步数)

  35000次的训练结果

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行信息技术软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: