当前位置: 首页 > news >正文

tensorflow 戴明线性回归

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

损失函数可以有两种 1.点到直线的竖直距离 2.点到直线的垂直距离 import tensorflow as tf import matplotlib.pyplot as plt import numpy as np from sklearn import datasets

sess = tf.Session()

iris = datasets.load_iris()

x_vals = np.array([x[3] for x in iris.data]) y_vals = np.array([y[0] for y in iris.data])

learn_rate = 0.05 batchsize = 50 x_data = tf.placeholder(shape=[None,1],dtype=tf.float32) y_target = tf.placeholder(shape=[None,1],dtype=tf.float32)

A = tf.Variable(tf.random_normal(shape=[1,1])) b = tf.Variable(tf.random_normal(shape=[1,1])) demming_upper = tf.abs(tf.subtract(y_target,tf.add(tf.matmul(x_data,A),b))) demming_down = tf.sqrt(tf.add(tf.square(A),1))

loss = tf.reduce_mean(tf.truediv(demming_upper,demming_down))

init = tf.global_variables_initializer() sess.run(init)

my_opt = tf.train.GradientDescentOptimizer(0.1) train_step = my_opt.minimize(loss)

loss_dev = []

for i in range(250): rand_index = np.random.choice(len(x_vals), size=batchsize) rand_x = np.transpose([x_vals[rand_index]]) rand_y = np.transpose([y_vals[rand_index]])

sess.run(train_step,feed_dict={x_data:rand_x,y_target:rand_y})
temp_loss = sess.run(loss,feed_dict={x_data:rand_x,y_target:rand_y})

loss_dev.append(temp_loss)

[slope] = sess.run(A) [intercept] = sess.run(b)

best_line = [] for x in x_vals: best_line.append(slope*x+intercept)

plt.plot(x_vals,y_vals,'bo',label = 'data') plt.plot(x_vals,best_line,'r--',label = 'best line') plt.legend(loc = 'upper right') plt.show()

plt.plot(loss_dev) plt.show()

转载于:https://my.oschina.net/u/2511906/blog/2223420

相关文章:

  • 如果我告诉你,程序员这条路很难走,你还要坚持走下去吗
  • A Tour of Go: Basics 2
  • Scala学习(十)特质
  • linux安装LNMP环境之安装PHP
  • Graphviz的安装 - windows环境下
  • RSocket:一个面向反应式应用程序的新型应用网络协议
  • Spring Bean生命周期-registerBeanPostProcessors(七)
  • C#指定用户启动进程
  • ServletRequest和ServletResponse学习笔记
  • Ubuntu16.04 System program problem detected
  • MariaDB10.3 增补AliSQL补丁---安全执行Online DDL
  • shell脚本中打印所有匹配某些关键字符的行或前后各N行
  • 数组遍历的方法(loop)
  • 18-10-11
  • clipboard.js无法复制粘贴
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【前端学习】-粗谈选择器
  • 2017届校招提前批面试回顾
  • canvas 绘制双线技巧
  • CSS实用技巧干货
  • pdf文件如何在线转换为jpg图片
  • React组件设计模式(一)
  • Redis中的lru算法实现
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spring Cloud Feign的两种使用姿势
  • SpringBoot 实战 (三) | 配置文件详解
  • swift基础之_对象 实例方法 对象方法。
  • Webpack 4x 之路 ( 四 )
  • Zsh 开发指南(第十四篇 文件读写)
  • 聊聊directory traversal attack
  • 全栈开发——Linux
  • 如何优雅地使用 Sublime Text
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​力扣解法汇总946-验证栈序列
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • ()、[]、{}、(())、[[]]命令替换
  • (2)STL算法之元素计数
  • (day6) 319. 灯泡开关
  • (二)WCF的Binding模型
  • (二)构建dubbo分布式平台-平台功能导图
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (黑马C++)L06 重载与继承
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (转)【Hibernate总结系列】使用举例
  • *** 2003
  • ./configure,make,make install的作用(转)
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET Micro Framework初体验
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • ::什么意思
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解