针对波士顿房价数据集采用简单线性回归,预测最后一列给出的房价
波士顿房价数据集可从http://lib.stat.cmu.edu/datasets/boston处获取。

实现简单线性回归的具体做法

1:导入所需要的软件包
2:在神经网络中,所有的输入都线性增加,为了使训练有效,输入应该被归一化,所以这里定义一个函数来归一化输入数据
3:加载波士顿房价数据集,将其分解为X_train和Y_train,并对数据进行归一化处理
4:为训练数据声明Tensorflow占位符
5:创建Tensorflow的权重和偏置变量且初始化值为0
6:定义用于预测的线性回归模型
7:定义损失函数
8:选择梯度下降优化器
9:声明初始化操作符
10:开始计算图
11:查看结果

代码如下

#1:导入所需软件包
import tensorflow as tf
import  numpy as np
import  matplotlib.pyplot as plt
from sklearn.datasets import  load_boston#2:在神经网络中,所有输入都线性增加,为了使训练有效,输入应该被归一化
#定义函数来归一化输入数据tf.compat.v1.disable_eager_execution()def normalize(X):''' Normalizes the array X'''mean = np.mean(X)std = np.std(X)X = (X-mean)/stdreturn X
#3:加载波士顿数据集
#,并将其分解为X_train,Y_train 可以对数据进行归一化处理boston = load_boston()
X_train,Y_train = boston.data[:,5],boston.target
X_train = normalize(X_train)
n_samples = len(X_train)
#4:为训练数据声明Tensroflow占位符
X = tf.compat.v1.placeholder(tf.float32,name='X')
Y = tf.compat.v1.placeholder(tf.float32,name='Y')#5:创建Tensorflow的权重和偏置变量且初始化为0
b = tf.compat.v1.Variable(0.0)
w = tf.compat.v1.Variable(0.0)#6:定义用于预测的线性回归模型
Y_hat = X*w+b
#7:定义损失函数
loss = tf.compat.v1.square(Y-Y_hat,name='loss')#8:选择梯度下降优化器
optimizer =tf.compat.v1.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)#9:声明初始化操作符
init_op = tf.compat.v1.global_variables_initializer()
total = []#10 开始计算图,训练100次
with tf.compat.v1.Session() as sess:sess.run(init_op)writer = tf.compat.v1.summary.FileWriter('graphs',sess.graph)for i in range(100):total_loss = 0for x,y in zip(X_train,Y_train):l = sess.run([optimizer,loss],feed_dict={X:x,Y:y})total_loss+=1total.append(total_loss/n_samples)print('Epoch {0}:Loss {1}'.format(i,total_loss/n_samples))writer.close()b_value,w_value = sess.run([b,w])#11:查看结果Y_pred = X_train*w_value+b_valueprint('Done')plt.plot(X_train,Y_train,'bo',label = 'Real Data')plt.plot(X_train,Y_pred,'r',label = 'Predicted Data')plt.legend()plt.show()plt.plot(total)plt.show()

最后结果

使用Tensorflow实现简单线性回归相关推荐

  1. TensorFlow实现简单线性回归

    文章目录 实验主题-TensorFlow实现简单线性回归 案例实现 实验效果 逻辑回归或线性回归是用于对离散类别进行分类的监督机器学习方法.在本章中的目标是构建一个模型,用户可以通过该模型预测预测变量 ...

  2. tensorflow处理简单线性回归

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt num_points = 100 set =[] ...

  3. TensorFlow简单线性回归

    TensorFlow简单线性回归 将针对波士顿房价数据集的房间数量(RM)采用简单线性回归,目标是预测在最后一列(MEDV)给出的房价. 波士顿房价数据集可从http://lib.stat.cmu.e ...

  4. 梯度下降的线性回归用python_运用TensorFlow进行简单实现线性回归、梯度下降示例...

    线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数训练的好不好(即此函数是否足够拟合训练集数据),挑选出最好的函数(cost f ...

  5. ols线性回归_普通最小二乘[OLS]方法使用于机器学习的简单线性回归变得容易

    ols线性回归 Hello Everyone! 大家好! I am super excited to be writing another article after a long time sinc ...

  6. Tensorflow实现多元线性回归

    上一篇使用tensorflow实现了简单的线性回归,这次在简单的线性回归基础上,通过在权重和占位符声明中 修改来对相同的数据进行多元线性回归. 同样以波士顿房价数据为例 波士顿房价数据集可从http: ...

  7. [机器学习-实践篇]学习之线性回归、岭回归、Lasso回归,tensorflow实现的线性回归

    线性回归.岭回归.Lasso回归 前言 1.线性回归 2. 岭回归 3. Lasso回归 4. tensorflow利用梯度下降实现的线性回归 前言 本章主要介绍线性回归.岭回归.Lasso回归,te ...

  8. 利用TensorFlow实现多元线性回归

    利用TensorFlow实现多元线性回归,代码如下: # -*- coding:utf-8 -*- import tensorflow as tf import numpy as np from sk ...

  9. TensorFlow案例实现线性回归

    TensorFlow案例实现线性回归 一.线性回归原理复习 根据数据建立回归模型,w1x1+w2x2+-..+b = y,通过真实值与预测值之间建立误差,使用梯度下降优化得到损失最小对应的权重和偏置. ...

最新文章

  1. pandas使用groupby函数和agg函数获取每个分组特定变量独特值的个数(number of distinct values in each group in dataframe)
  2. 红帽企业集群和存储管理之DRBD+Heartbeat+NFS实现详解
  3. java resume过时方法_学点开发|关于Java多线程用法解析
  4. AtCoder AGC029E Wandering TKHS
  5. 书中自有黄金屋~外加中奖结果通知
  6. ValueError: Found array with dim 4. Estimator expected和ValueError: Expected 2D array, got 1D array i
  7. 链表的基本操作Basic Operation of LinkList
  8. Daily Scrum 12/9/2015
  9. 3D全息投影制作教程
  10. 如何加载CASS DAT格式文件
  11. e3 v3服务器芯片组,E3 V5专用主板特别在哪?华硕E3 PRO GAMING评测-太平洋电脑网
  12. CCPC 合肥站 打铁记
  13. 根据子节点递归查询所有父节点
  14. 泰坦尼克号乘客生存情况分析第一部分
  15. 【TransMEF】
  16. 分享几个好用的易语言编程助手
  17. 教你破解Android手机图案锁
  18. 三款telegram中群搜索机器人推荐
  19. c226打印机驱动安装_小白教您电脑怎么安装打印机驱动
  20. 客户想要的 vs 客户实际预算:漫画解读软件开发模式 ​​​​

热门文章

  1. mysql 镜像数据_mysql官方镜像数据存储问题
  2. 内存检测_Android native内存检测工具介绍
  3. Mac电视投屏工具:Mirror for Any Device for Mac
  4. linux打开pythonshall,linux系统shell脚本后台运行python程序
  5. python recv_[Python]关于socket.recv()的非阻塞用法
  6. centos 需要哪些常用端口_Docker 最常用的镜像命令和容器命令
  7. 1.6编程基础之一维数组_09向量点积计算
  8. 找不到腾讯云MFA动态码了,无法登录腾讯云的解决办法
  9. requirejs页面刷新失效js报错问题解决方案
  10. 信息安全工程师笔记-入侵检测技术原理与应用