机器学习之用python实现最小二乘法预测房价,进行额度预测

小南蓬幽 小南蓬幽     2022-11-29     319

关键词:

使用最小二乘法进行房价预测:

给定训练样本集合如下:

机器学习之用Python实现最小二乘法预测房价,进行额度预测_最小二乘法

求解:当房屋面积为55平方时,租赁价格是多少?给出代码与运行结果图。

首先明白什么是最小二乘法,利用最小二乘法公式

p = (X^TX)^-1 X^T Y
import numpy as np
from numpy import mat
import matplotlib.pyplot as plt

if __name__ == "__main__":
# 1 获得x,y数据# ##########
X = np.array([10, 15, 20, 30, 50, 60, 60, 70])
y = np.array([0.8, 1, 1.8, 2, 3.2, 3, 3.3, 3.5])
plt.scatter(X, y)
plt.show()
# 2 矩阵形式转换X, Y
Y_mat = mat(y).T
# print(Y_mat)
X_temp = np.ones((8, 2))
#print(X_temp)
X_temp[:, 0] = X
# print(X_temp)
X_mat = mat(X_temp)
#print(X_mat)
# 3 利用解析法 p = (X^TX)^-1 X^T Y
pamaters = (((X_mat.T)*X_mat).I) * X_mat.T*Y_mat
¥print(pamaters)
# 4 显示
predict_Y = X_mat * pamaters
# print(predict_Y)
plt.figure()
plt.scatter(X, y, c="blue")
plt.plot(X, predict_Y, c="red")
plt.title("房价预测图") # 设置图表标题
plt.xlabel("房屋面积(m^2)") # 设置x坐标轴标签
plt.ylabel("租赁价格(1000$)") # 设置y坐标轴标签
plt.rcParams[font.sans-serif] = [Kaiti] # 用来正常显示中文(黑体)常用字体包括: Kaiti-楷体; FangSong-仿宋; Microsoft YaHei-微软雅黑
plt.rcParams[axes.unicode_minus] = False # 用来正常显示负号
plt.show()
s = input("请输入房屋面积:")
#print(s)
s_temp = np.ones((1, 2))
s_temp[:, 0] = s
#print(s_temp)
s_mat = mat(s_temp)
z = s_mat * pamaters
print("租赁价格为:", z)

散点图和折线图

机器学习之用Python实现最小二乘法预测房价,进行额度预测_最小二乘法_02

输入房屋面积即可得出租赁价格!

2. 使用最小二乘法进行贷款额度预测:

给定训练样本集合如下:

机器学习之用Python实现最小二乘法预测房价,进行额度预测_最小二乘法_03

求解:当工资18000、年龄30时,额度是多少?给出代码与运行结果图

难点在于有两个参数 画三维图需要引入mpl_toolkits.mplot3d

最小二乘法公式不变

 p = (X^TX)^-1 X^T Y

在画图时要分别为x,y,z轴赋值,并写上坐标标签,由于数据的小数位太多,超出位数范围会报错,所以要将小数变为整数!

import numpy as np
from numpy import mat
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D # 画三维图

if __name__ == "__main__":
# 1 获得x,y数据# ##########
X = np.array([[4000, 25], [8000, 30], [5000, 28], [7500, 33], [12000, 40]])
Y = np.array([20000, 70000, 35000, 50000, 85000])


# 2 矩阵形式转换X, Y
Y_mat = mat(Y).T

X_temp = np.ones((5, 3))
X_temp[:, 0] = X[:, 0]
X_temp[:, 1] = X[:, 1]
#print(X_temp)
X_mat = mat(X_temp)
# print(X_mat)
# 3 利用解析法 p = (X^TX)^-1 X^T Y
pamaters = (((X_mat.T) * X_mat).I) * X_mat.T * Y_mat
#print(pamaters)
# 4 显示
fig1 = plt.figure()
ax1 = Axes3D(fig1)
x = X[:, 0]
y = X[:, 1]
z = Y
Z = X_mat * pamaters
#print(Z)
n = list(map(int, Z[:, 0])) # Z中的数的位数超出范围
#print(n)
ax1.scatter3D(x, y, z, c=blue)
ax1.plot3D(x, y, n, c=red)
plt.title("贷款额度预测图") # 设置图表标题
plt.xlabel("工资") # 设置x坐标轴标签
plt.ylabel("年龄") # 设置y坐标轴标签
ax1.set_zlabel("额度")# 设置z坐标标签
plt.rcParams[font.sans-serif] = [Kaiti] # 用来正常显示中文(黑体)常用字体包括: Kaiti-楷体; FangSong-仿宋; Microsoft YaHei-微软雅黑
plt.rcParams[axes.unicode_minus] = False # 用来正常显示负号
plt.show()

a = eval(input("请输入工资:"))
b = eval(input("请输入年龄: "))
s = np.array([[a, b]])
# print(s)
s_temp = np.ones((1, 3))
s_temp[:, 0] = s[:, 0]
s_temp[:, 1] = s[:, 1]
#print(s_temp)
s_mat = mat(s_temp)
m = s_mat * pamaters
print("贷款额度为:", m)

三维散点和折线图

机器学习之用Python实现最小二乘法预测房价,进行额度预测_3d_04

输入工资和年龄即可输出贷款额度!

机器学习-最小二乘法

一、引言这段时间学习《机器学习》,学到第5章的“Logistic回归”,感觉相当吃力。追本溯源,从“Logistic回归”到“线性回归”,再到“最小二乘法”。最终定格到了《高等数学》(第六版·下册)第九章第10节“最小二乘法”... 查看详情

梦开始的地方,从最小二乘法开始学机器学习(代码片段)

梦开始的地方,从最小二乘法开始学机器学习从这篇博客开始,我们将逐步实现不同的机器学习代码,以此来深入学习了解不同的机器学习背后的原理~文章目录梦开始的地方,从最小二乘法开始学机器学习00.参考... 查看详情

梦开始的地方,从最小二乘法开始学机器学习(代码片段)

梦开始的地方,从最小二乘法开始学机器学习从这篇博客开始,我们将逐步实现不同的机器学习代码,以此来深入学习了解不同的机器学习背后的原理~文章目录梦开始的地方,从最小二乘法开始学机器学习00.参考... 查看详情

机器学习模型和算法(代码片段)

文章目录python简介python基本语法监督学习--回归模型线性回归模型一元线性回归线性回归最小二乘代码实现多元线性回归梯度下降法和最小二乘法相比线性回归梯度下降代码实现非线性回归python简介略python基本语法文件开头加上#... 查看详情

线性回归(代码片段)

...性回归实验介绍线性回归是一种较为简单,但十分重要的机器学习方法。掌握线性的原理及求解方法,是深入了解线性回归的基本要求。除此之外,线性回归也是监督学习回归部分的基石,希望您能通过本次实验掌握机器学习的... 查看详情

机器学习之利用线性回归预测波士顿房价和可视化分析影响房价因素实战(python实现附源码超详细)(代码片段)

数据集和源码请点赞关注收藏后评论区留下QQ邮箱或者私信线性回归是利用最小二乘函数对一个或多个因变量之间关系进行建模的一种回归分析,这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个变量的... 查看详情

最小二乘法思想

...要是通过将理论值与预测值的距离的平方和达到最小。在机器学习,尤其是回归模型中,经常可以看到最小二乘法的身影。最小二乘法的原理与要解决的问题最小二乘法的形式如下式所示:[目标函数=sum(理论值-预测值)^2]理论... 查看详情

机器学习100天:008简单线性回归python实战(代码片段)

机器学习100天,今天讲的是:简单线性回归Python实战——房价预测。上一节课,我们通过引入房价预测的例子,讲解了线性回归的理论知识,以及如何最小化损失函数,来计算最优的参数www。今天我们就使用Python来编写一个简单... 查看详情

机器学习白板,最小二乘法,线性回归,矩阵表达

机器学习-白板推导系列(三)-线性回归(LinearRegression)_哔哩哔哩_bilibili目录最小二乘法,线性回归 几何意义讲解 查看详情

机器学习实战二:波士顿房价预测bostonhousing(代码片段)

...更像是预测一个连续值,当然这也是一个非常经典的机器学习案例Bostonhousing如果想了解更多的知识,可以去我的机器学习之路TheRoadToMachineLearning通道目录活动背景数据介绍详细代码解释导入PythonPackages读入数据Read-InData从... 查看详情

掌握spark机器学习库-07.6-线性回归实现房价预测(代码片段)

数据集house.csv数据概览代码packageorg.apache.spark.examples.examplesformlimportorg.apache.spark.ml.feature.VectorAssemblerimportorg.apache.spark.ml.regression.LinearRegressionimportorg.apache.spark.sql.SparkSe 查看详情

机器学习线性回归——最小二乘法的几何意义

查看详情

机器学习回归的原理学习与葡萄酒数据集的最小二乘法线性回归实例(代码片段)

一,回归1.1回归分析的基本概念回归分析(regressionanalysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。确定变量之间是否存在相关关系,若存在,则找出数学表达式根据一个或几个变量的值,预... 查看详情

机器学习线性回归——最小二乘法(理论+图解+公式推导)

查看详情

机器学习100天:010多项式回归python实战(代码片段)

机器学习100天,今天讲的是:多项式线性回归Python实战——房价预测。上一节我们介绍了多项式线性回归理论,即构建一个二次多项式来拟合房价与地区人口的关系。今天我们就来编写一个二次多项式回归程序来构建房价预测的... 查看详情

梦开始的地方,从最小二乘法开始学机器学习(代码片段)

梦开始的地方,从最小二乘法开始学机器学习从这篇博客开始,我们将逐步实现不同的机器学习代码,以此来深入学习了解不同的机器学习背后的原理~文章目录梦开始的地方,从最小二乘法开始学机器学习00.参考... 查看详情

最小二乘法的两个观点

...题线性代数角度的近似解写在最后写在前面之前在学习《机器学习基石》的线性回归章节的时候,林老师在最后的部分给了最小二乘的另一种观点当时很不理解。之后在《线性代数及其应用》的目录上看到最小二乘法的内容... 查看详情

第二篇[机器学习]学习机器学习,从最简单的线性回归开始

机器学习,分为监督学习和无监督学习,监督学习里有回归和分类,分类有线性回归和逻辑回归。从最简单的线性回归开始:通过已有数据需要预测的线性方程:实际值和预测值的误差,求最小误差函数(最小二乘法):1.梯度... 查看详情