前期知识回顾

演示实例 – 二元线性回归

实例:房价由面积和房间数两个因素共同来决定。

多元线性回归函数的实现分为四步。

第一步:加载样本数据。

第二步:数据处理,将加载的样本构造为计算解析解所需要的形式。

第三步:求解模型参数。使用解析解公式,计算参数向量 W 的值,得到多元回归模型。

第四步:预测房价,使用得到的模型来估计房价。

与一元线性回归的例子相比,这里增加了第二步。这也是大多数学习任务中都必须的一步,因为原始的数据集中的数据可能和模型需要的输入数据模型不太一致,因此需要进行数据处理。

使用NumPy实现

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt# 设置字体
plt.rcParams['font.sans-serif'] = ['SimHei']# 第一步:加载样本数据
# x1 是商品房面积
x1 = np.array([137.97, 104.50, 100.00, 124.32, 79.20, 99.00, 124.00, 114.00,106.69, 138.05, 53.75, 46.91, 68.00, 63.02, 81.26, 86.21])
# x2 是商品房房间数
x2 = np.array([3, 2, 2, 3, 1, 2, 3, 2,2, 3, 1, 1, 1, 1, 2, 2])
# y 是房价
y = np.array([145.00, 110.00, 93.00, 116.00, 65.32, 104.00, 118.00, 91.00,62.00, 133.00, 51.00, 45.00, 78.50, 69.65, 75.69, 95.30])print("x1:", x1.shape)  # (16, )
print("x2:", x2.shape)  # (16, )
print("y:", y.shape)  # (16, )# 第二步:将输入的原始数据处理为模型所要求的形式
# 在这个例子中, n = 16, m =2, 因此,这个X矩阵应该是一个 16 * 3 的矩阵
x0 = np.ones(len(x1))
X = np.stack((x0, x1, x2), axis=1)  # (16, 3)
print(X)
"""
[[  1.   137.97   3.  ][  1.   104.5    2.  ][  1.   100.     2.  ][  1.   124.32   3.  ][  1.    79.2    1.  ][  1.    99.     2.  ][  1.   124.     3.  ][  1.   114.     2.  ][  1.   106.69   2.  ][  1.   138.05   3.  ][  1.    53.75   1.  ][  1.    46.91   1.  ][  1.    68.     1.  ][  1.    63.02   1.  ][  1.    81.26   2.  ][  1.    86.21   2.  ]]
"""
# 将数组 Y 表示为列向量的形式
Y = np.array(y).reshape(-1, 1)
print(Y)  # (16, 1)
"""
[[145.  ][110.  ][ 93.  ][116.  ][ 65.32][104.  ][118.  ][ 91.  ][ 62.  ][133.  ][ 51.  ][ 45.  ][ 78.5 ][ 69.65][ 75.69][ 95.3 ]]
"""
# 第三步:求解模型参数 W
# W = (Xt * X) ^ (-1) * Xt * Y# np.transpose()是求矩阵的转置
Xt = np.transpose(X)  # 计算Xt
# np.matmul()是求矩阵的相乘
# np.linalg.inv()是矩阵的求逆
XtX_1 = np.linalg.inv(np.matmul(Xt, X))  # 计算(Xt * X) ^ (-1)
XtX_1_Xt = np.matmul(XtX_1, Xt)  # 计算(Xt * X) ^ (-1)* Xt
W = np.matmul(XtX_1_Xt, Y)  # 计算(Xt * X) ^ (-1) * Xt * Yprint(W)
"""
[[11.96729093][ 0.53488599][14.33150378]]
"""
W = W.reshape(-1)
print(W)
"""
[11.96729093  0.53488599 14.33150378]
"""
print("多元线性回归方程:")
print("Y=", W[1], "*x1+", W[2], "*x2+", W[0])
"""
Y= 0.5348859949724712 *x1+ 14.331503777673714 *x2+ 11.96729093053445
"""
#  第四步:预测房价,使用得到的模型来估计房价。
print("请输入房屋面积和房间数,预测房屋的销售价格:")
x1_test = int(input("商品房面积:"))
x2_test = int(input("房间数:"))y_pred = W[1]*x1_test+W[2]*x2_test+W[0]
print("预测价格:", round(y_pred, 2), "万元")
"""
请输入房屋面积和房间数,预测房屋的销售价格:
商品房面积:140
房间数:3
预测价格: 129.85 万元
"""
"""
请输入房屋面积和房间数,预测房屋的销售价格:
商品房面积:140
房间数:4
预测价格: 144.18 万元
"""

解析法实现多元线性回归的实例相关推荐

  1. 数学建模复习(7.多元线性回归模型实例)

  2. TensorFlow基础3-机器学习基础知识(解析法实现一元线性回归、多元线性回归)

    记录TensorFlow听课笔记 文章目录 记录TensorFlow听课笔记 一,机器学习基础 1.1一元线性回归 1.2解析法实现一元线性回归 1.3解析法实现多元线性回归 二,代码实现一元/多元回 ...

  3. 解析法实现一元线性回归、多元线性回归以及数据模型可视化操作

    目录 [1]解析法实现一元线性回归 python列表实现 利用Numpy实现 利用TensorFlow实现 数据和模型可视化 [2]解析法实现多元线性回归 利用Numpy实现 需要用到的NumPy数组 ...

  4. 【定量分析、量化金融与统计学】R语言:多元线性回归实例

    今天来做一个R语言的多元线性回归的实例: 题目是这样的: 练习:度假村排名 旅游胜地,专门介绍高级度假和住宿的杂志<Spas>在"读者选择"评选的世界20家独立海滨精品 ...

  5. 利用梯度下降法求解一元线性回归和多元线性回归

    文章目录 原理以及公式 [1]一元线性回归问题 [2]多元线性回归问题 [3]学习率 [4]流程分析(一元线性回归) [5]流程分析(多元线性回归) 归一化原理以及每种归一化适用的场合 一元线性回归代 ...

  6. 简单线性回归(Simple Linear Regression)和多元线性回归(Multiple Regression)学习笔记

    简单线性回归(Simple Linear Regression) 0.前提介绍: 为什么需要统计量? 统计量:描述数据特征 0.1集中趋势衡量 0.1.1均值(平均数,平均值) (mean):(求和除 ...

  7. matlab中多元线性回归regress函数精确剖析(附实例代码)

    matlab中多元线性回归regress函数精确剖析(附实例代码) 目录 前言 一.何为regress? 二.regress函数中的参数 三.实例分析 总结 前言 regress函数功能十分强大,它可 ...

  8. python多元线性回归实例_Python机器学习多元线性回归模型 | kTWO-个人博客

    前言 在上一篇文章<机器学习简单线性回归模型>中我们讲解分析了Python机器学习中单输入的线性回归模型,但是在实际生活中,我们遇到的问题都是多个条件决定的问题,在机器学习中我们称之为多元 ...

  9. python多元线性回归实例_利用Python进行数据分析之多元线性回归案例

    线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量).例如,餐厅根据每天的营业数据(包括菜谱价格.就餐人数.预定人数.特价菜折扣等)预测就餐规 ...

最新文章

  1. 很高兴加入 英文_少和外国人说quot;You look youngquot;,她们可能会不高兴!
  2. cas单点登陆。就这一篇就够了!!!!!
  3. win2012中让IIS同时支持多版本ASP.NET 3.5/4.0/4.5的方法
  4. mmap直接操作底层,相当于驱动
  5. 分数阶simulink工具箱_CCDC 2021特别专题:分数阶微积分与分数阶系统
  6. 2020秋招CV面试知识点汇总
  7. 从一列数中筛除尽可能少的数使得从左往右看,这些数是从小到大再从大到小的(网易)。...
  8. Tomcat(Install)
  9. RAC 特点   character
  10. 凸二次规划解法(旋转法)——补充代码
  11. 【读书笔记】致加西亚的信(二)
  12. 计算机速成课 第二集 电子计算机
  13. 18.8.17 考试总结
  14. linux lightdm自动登录,设置了XFCE/lightDM启用自动登录,还是需要'点击'登录两字才能进入桌面...
  15. 捕鱼问题 matlab,鱼捕捞问题(数学建模).docx
  16. 黑马程序员-Linux系统编程-01
  17. 计算机学院杨洋,杨洋-湖北大学计算机与信息工程学院
  18. YOLOX之绘制AP图与损失曲线
  19. PyTorch学习笔记:nn.Sigmoid——Sigmoid激活函数
  20. 冠军专访:是情侣,更是夺冠道路上的最佳伙伴

热门文章

  1. 微信联盟链接不到服务器怎么,LOL微信绑定方法及无法登录处理方案推荐
  2. 计算机的存储器体系结构,计算机体系结构设计 第05章 存储器体系结构设计.pptx...
  3. 【企业动态】开启新征程,谱写新篇章 | 数商云喜迎乔迁
  4. 2022北航敏捷软件工程 第二次博客作业
  5. C++层Binder——Bn、Bp
  6. springsecurity忽视拦截静态资源
  7. php面试题之PHP核心技术(life)
  8. 第四章 安装centos与多重引导
  9. 滴滴出行 DoKit 2.0 - 泛前端开发者的百宝箱
  10. PowerPoint tricks