Python-Tensorflow2.3.0-多元线性回归预测(学习笔记)

Python-Tensorflow2.3.0-多元线性回归预测(学习笔记)

编译器环境:win10-Anaconda3-python3.6-tensorflow2.3.0

预测数据下载地址:https://download.csdn.net/download/weixin_41788456/12902246

Tensorflow进行算法设计与训练的核心步骤:

目录

1.准备数据

2.构建模型

3.模型训练

4.模型预测

1.准备数据

多变量线性方程可以表达为

总共:506行*13列,其中506为样本数,前12列为样本特征,最后1列为样本标签

%matplotlib inline

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

from sklearn.utils import shuffle

//读取数据

df=pd.read_csv("E:/data/boston.csv",header=0)

print(df)

#获取df的值

df=df.values

#把df转换为np的数组格式

df=np.array(df)

#数据归一化

for i in range(12):

df[:,i]=df[:,i]/(df[:,i].max()-df[:,i].min())

x_data=df[:,0:12]

y_data=df[:,12]

2.构建模型

#定义特征数据和标签数据的占位符

tf.compat.v1.disable_eager_execution()

x=tf.compat.v1.placeholder(tf.float32,[None,12],name="X")#12个特征数据

y=tf.compat.v1.placeholder(tf.float32,[None,1],name="Y")#1个标签数据

print(x)

#定义一个命名空间

with tf.name_scope("model"):

#初始化值为shape=(12,1)的随机数

w=tf.Variable(tf.compat.v1.random_normal([12,1],stddev=0.01),name="W")

#初始化值为1.0

b=tf.Variable(1.0,name="b")

#w和x矩阵相乘,用matmul,mutiply为数乘

def model(x,w,b):

return tf.matmul(x,w)+b

#预测计算操作,前向计算节点

pred=model(x,w,b)

3.模型训练

#迭代次数

train_epochs=50

#学习率

learning_rate=0.01

#定义损失函数

with tf.name_scope("loss_Function"):

loss_function=tf.reduce_mean(tf.pow(y-pred,2))#均方差

#创建优化器

optimizer=tf.compat.v1.train.GradientDescentOptimizer(learning_rate).minimize(loss_function)

#声明会话

sess=tf.compat.v1.Session()

#定义初始化变量的操作

init=tf.compat.v1.global_variables_initializer()

#启动会话

sess.run(init)

loss_list=[]

#迭代训练

for epoch in range(train_epochs):

loss_sum=0.0

for xs,ys in zip(x_data,y_data):

xs=xs.reshape(1,12)

ys=ys.reshape(1,1)

_,loss=sess.run([optimizer,loss_function],feed_dict={x:xs,y:ys})

loss_sum=loss_sum+loss

#打乱数据顺序

xvalues,yvalues=shuffle(x_data,y_data)

b0temp=b.eval(session=sess)

w0temp=w.eval(session=sess)

loss_average=loss_sum/len(y_data)

loss_list.append(loss_average)

print("epoch=",epoch+1,"loss=",loss_average,"b=",b0temp,"w",w0temp)

输出结果:

损失函数收敛图:

4.模型预测

n=np.random.randint(506)

print(n)

x_test=x_data[n]

x_test=x_test.reshape(1,12)

predict=sess.run(pred,feed_dict={x:x_test})

print("预测值:%f"%predict)

target=y_data[n]

print("目标值:%f"%target)

预测结果:

301

预测值:23.178604

目标值:22.000000

Python-Tensorflow2.3.0-多元线性回归预测(学习笔记)相关教程

一元变量线性回归(房价预测) Python代码

一元变量线性回归(房价预测) Python代码 前言 本文主要内容是一元变量下的线性回归问题,给定2000~2013年的房价,预测2014年的房价。文中使用了梯度下降法和最小二乘法两种方法去求解。 一、训练数据 year price2000 2.02001 2.52002 2.92003 3.1472004 4.5

【线性回归模型】最小二乘法、lasso、岭回归、elastic net以及MA

【线性回归模型】最小二乘法、lasso、岭回归、elastic net以及MATLAB中lasso的使用 【线性回归模型】最小二乘法、lasso、岭回归、elastic net以及MATLAB中lasso的使用 1 问题描述 2 回归模型 3 MATLAB中lasso函数简单使用 4 画图展示拓扑重构结果 附录 吴恩达

【QBKbupt】第二章 线性表 C.线性表练习3

【QBKbupt】第二章 线性表 C.线性表练习3 #includebits/stdc++.husing namespace std;struct Node{int in;int cn;Node *next;};void init(Node **);void create(Node *,int);void calculate(Node *,Node *,Node *);void print(Node *);int main(){int n,m;Nod

【QBKbupt】第二章 线性表 B.线性表练习2

【QBKbupt】第二章 线性表 B.线性表练习2 #includebits/stdc++.husing namespace std;struct Node{int data;Node *next;};int main(){int n,x,y;char operate[10];Node head,*ptr,*ptr2;head.data =1;head.next=NULL;ptr=head;ptr2=head;scanf(%d,n);for(int

tensorflow 入门之五- 多变量线性回归

tensorflow 入门之五- 多变量线性回归 tensorflow 入门之五- 多变量线性回归 import tensorflow as tfimport matplotlib.pyplot as pltimport numpy as nptf.__version__ '1.14.0' # 加载数据boston=tf.contrib.learn.datasets.load_dataset('boston')x_train

保研复习——线性代数5相似矩阵

保研复习——线性代数5:相似矩阵 相似矩阵 1.方阵的特征值与特征向量 特征值与特征向量的定义 由(1)式可知,若λ 是矩阵A的特征值,α 为属于λ 的特征向量,则α 是齐次线性方程组(λE-A)x=0 的非零解。?|λE-A|=0 ,称|λE-A| 为矩阵A的 特征多项式 ,方

线性模型学习笔记

线性模型学习笔记 注:该文是根据开智学堂数据科学入门班的讲课内容整理而成,主讲人是肖凯老师。 线性模型 主要学习用 statsmodels 模块进行线性回归、逻辑回归和时间序列分析。 多个因素的定量化计算,是线性模型的最主要用途。 \[y=\beta_{0}+\beta_{1}x_{

无人驾驶轨迹跟踪仿真——线性时变模型预测代码详解

无人驾驶轨迹跟踪仿真——线性时变模型预测代码详解 无人驾驶轨迹跟踪仿真——线性时变模型预测代码详解 对照推导的公式,对代码进行一一详细注解,方便学习代码的同学。该代码为龚建伟《无人驾驶车辆模型预测控制》中第3章3.3.3的例子。 这一部分的推导过程

python多元线性回归预测法,Python-Tensorflow2.3.0-多元线性回归预测(学习笔记)相关推荐

  1. python多元线性回归代码_Python实现梯度下降算法求多元线性回归(一)

    预备知识及相关文档博客 学习吴恩达机器学习课程笔记,并用python实现算法 python numpy基本教程: numpy相关教程 数据来自于UCI的机器学习数据库: UCI的机器学习数据库 pyt ...

  2. python构建指数平滑预测模型_指数平滑预测法python实现

    说明:基于python的指数平滑预测平滑系数确定.计算.误差分析.结果输出与可视化. 指数平滑法 指数平滑法是生产预测中常用的一种方法.也用于中短期经济发展趋势预测,所有预测方法中,指数平滑是用得最多 ...

  3. python做线性回归_利用 python 进行线性回归

    利用python进行线性回归 理解什么是线性回归 线性回归也被称为最小二乘法回归(Linear Regression, also called Ordinary Least-Squares (OLS) ...

  4. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  5. c++多元线性回归_五种优化算法实现多元线性回归

    实现多元线性回归的要求及假设条件: '''线性回归的假设条件:1.样本独立,即每个预测样本之间没有依赖关系:2.残差e要服从正态分布,即y_true-y_pred的残差需要服从高斯分布:3.特征之间独 ...

  6. 多元线性回归dw值_SPSS教程10:多元线性回归

    1多元线性回归简介 简单线性回归是一个自变量对一个因变量的预测,而多元线性回归是多个自变量对一个因变量的联合预测能力.比如说检验乐观.自我效能感对学习投入的预测能力,那不论是乐观还是自我效能感的单个预 ...

  7. 一、 Python 基础知识笔记 —— 《Python编程:从入门到实践(第二版)》学习笔记

    前言 先安利这本书<Python编程:从入门到实践(第二版)>,作者埃里克-马瑟斯,很适合新手入门,我的python入门学习就是以这本书为核心: 再安利一个网站:菜鸟教程-Python3教 ...

  8. TensorFlow2.0 Guide官方教程 学习笔记17 -‘Using the SavedModel format‘

    本笔记参照TensorFlow官方教程,主要是对'Save a model-Training checkpoints'教程内容翻译和内容结构编排,原文链接:Using the SavedModel f ...

  9. Python数据分析-时间序列预测法

    print('a.朴素法')         #如果数据集在一段时间内都很稳定,我们想预测第二天的价格,可以取前面一天的价格,预测第二天的值.         # 这种假设第一个预测点和上一个观察点相 ...

最新文章

  1. php分页不跳转,分页源代码,分页时上一页下一页不显示,但可以跳转
  2. python break
  3. LiveBos---扩展按钮调用方法
  4. React 中 $$typeof 的作用
  5. ubuntu18安装DC2016
  6. 【youcans 的 OpenCV 例程 200 篇】120. 击中-击不中变换
  7. 聊聊工作与生活的平衡
  8. FTL 算法之Arbiter
  9. 运动目标检测的四种方法
  10. 六西格玛dfss_六西格玛设计DFSS概述
  11. 如何提高思维能力和逻辑能力?
  12. 无为WiFi正在被DD
  13. 民间祖传秘方 (转载)
  14. 汇龙贷CEO受邀参加深圳金融规范管理论坛会
  15. 快递100接口的简单使用:
  16. 服务和应用程序间在用户级的交互(Windows Vista及其后)
  17. javascript鼠标双击时触发事件大全
  18. 数据分析:基于K-近邻(KNN)对Pima人糖尿病预测分析
  19. NLP基础--文本特征提取中文分词word2vec原理
  20. 【无标题】mysql增加字段和备注_mysql 修改表名,修改字段类型,增加字段,删除字段,添加字段备注,添加索引...

热门文章

  1. c语言三角函数atan,C++中tan、atan、sin、cos等三角函数用法的代码演示及结果,注意角度和弧度的转换!-Go语言中文社区...
  2. 如何判断代理ip质量优劣?
  3. mysql 导出shell_shell操作mysql,Shell操作MySQL并导出文本文件
  4. python之input()函数的使用——在终端输入想要的值,小白也能学会的python之路
  5. W5500的最新驱动库
  6. 锐龙r54600u核显相当于 r5 4600u属于什么水平
  7. dnf命令参数详细说明、bclinux8或centos8以上系统使用dnf命令离线安装本地rpm包方法及场景和原因、使用dnf命令提示正在等待 pid 为422620的进程退出。的解决方法
  8. java-for循环遍历数组
  9. 我摊牌了,这是我用过最好用的配音软件了
  10. JavaScript获取数组对象里面的键(key)和值(value)