机器学习(十)线性&多项式回归之房价与房屋尺寸关系

简介:  线性回归(Linear Regression)是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

一.线性回归

(1)线性回归

 线性回归(Linear Regression)是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分

析方法。

 线性回归利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归


线性回归:使用形如y=w T x+b的线性模型拟合数据输入和输出之间的映射关系的。



线性回归有很多实际的用途,分为以下两类:

1.如果目标是预测或者映射,线性回归可以用来对观测数据集的y和X的值拟合出一个预测模型。当完成这样一个模型以后,对于一个新增的X值,在没有给定与它相配对的y的情况下,可以用这个拟合过的模型预测出一个y值。


2.给定一个变量y和一些变量X1...Xp,这些变量有可能与y相关,线性回归分析可以用来量化y与X 𝑗 之间相关性的强度,评估出与y不相关的X 𝑗 ,并识别出哪些X 𝑗 的子集包含了关于y的冗余信息。



(2)实例背景

背景:与房价密切相关的除了单位的房价,还有房屋的尺寸。我们可以根据已知的房屋成交价和房屋的尺寸进行线性回归,继而可以对已知房屋尺寸,而未知房屋成交价格的实例进行成交价格的预测。


目标:对房屋成交信息建立回归方程,并依据回归方程对房屋价格进行预测


技术路线:sklearn.linear_model.LinearRegression


为了方便展示,成交信息只使用了房屋的面积以及对应的成交价格。其中

• 房屋面积单位为平方英尺(ft 2 )房

• 屋成交价格单位为万


可行性分析

• 简单而直观的方式是通过数据的可视化直接观察房屋成交价格与房屋尺寸间是否存在线性关系。

• 对于本实验的数据来说,散点图就可以很好的将其在二维平面中进行可视化表示。



(3)实验过程

使用算法:线性回归

实现步骤:

1.建立工程并导入sklearn包

2.加载训练数据,建立回归方程

3.可视化处理

关于一些相关包的介绍:

 NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函

数库。

 matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表。


(1)建立工程并导入sklearn包

• 创建house.py文件

• 导入sklearn相关包

• import matplotlib.pyplot as plt  #表示,matplotlib的pyplot子库,它提供了和matlab类似的绘图API。

• from sklearn import linear_model  #表示,可以调用sklearn中的linear_model模块进行线性回归。


(2)加载训练数据,建立回归方程



image.png


image.png





调用sklearn.linear_model.LinearRegression()所需参数:

• fit_intercept : 布尔型参数,表示是否计算该模型截距。可选参数。

• normalize : 布尔型参数,若为True,则X在回归前进行归一化。可选参数。默认值为False。

• copy_X : 布尔型参数,若为True,则X将被复制;否则将被覆盖。可选参数。默认值为True。

• n_jobs : 整型参数,表示用于计算的作业数量;若为-1,则用所有的CPU。可选参数。默认值为1。


线性回归fit函数用于拟合输入输出数据,调用形式为linear.fit(X,y, sample_weight=None):

• X : X为训练向量;

• y : y为相对于X的目标向量;

• sample_weight : 分配给各个样本的权重数组,一般不需要使用,可省略。


• 如果有需要,可以通过两个属性查看回归方程的系数及截距。

• 具体的代码如下:

#查看回归方程系数

print('Coefficients:', linear.coef_)

#查看回归方程截距

print('intercept:', linear.intercept_)


(3)可视化处理


image.png

(4)结果展示


image.png


二.多项式回归

(1)多项式回归

(Polynomial Regression)是研究一个因变量与一个或多个自变量间多项式的回归分析方法。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。

image.png

一元m次多项式回归方程为:


二元二次多项式回归方程为:


 在一元回归分析中,如果依变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归。

 多项式回归的最大优点就是可以通过增加x的高次项对实测点进行逼近,直至满意为止。

 事实上,多项式回归可以处理相当一类非线性问题,它在回归分析中占有重要的地位,因为任一函数都可以分段用多项式来逼近。


应用背景:我们在前面已经根据已知的房屋成交价和房屋的尺寸进行了线性回归,继而可以对已知房屋尺寸,而未知房屋成交价格的实例进行了成交价格的预测,但是在实际的应用中这样的拟合往往不够好,因此我们在此对该数据集进行多项式回归。


目标:对房屋成交信息建立多项式回归方程,并依据回归方程对房屋价格进行预测

技术路线:sklearn.preprocessing.PolynomialFeatures


(2)实验过程

1)建立工程并导入sklearn包

sklearn中多项式回归:

这里的多项式回归实际上是先将变量X处理成多项式特征,然后使用线性模型学

习多项式特征的参数,以达到多项式回归的目的。

例如:X = [x 1 , x 2 ]

1.使用PolynomialFeatures构造X的二次多项式特征X_Poly:

X_Poly = [x 1 , x 2 , x 1 x 2 , x 12 , x 2 ]

2.使用linear_model学习X_Poly和y之间的映射关系,即参数:


image.png


2)加载训练数据,建立回归方程


image.png

image.png


image.png



3)可视化处理


image.png


4)结果展示


image.png

相关文章
|
5月前
|
机器学习/深度学习 人工智能 算法
机器学习-线性模型(波士顿房价预测)
机器学习-线性模型(波士顿房价预测)
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
|
5月前
|
机器学习/深度学习 算法 数据可视化
【机器学习】多项式回归
【1月更文挑战第27天】【机器学习】多项式回归
|
5月前
|
机器学习/深度学习 数据采集 算法
基于Python的机器学习预测房价
基于Python的机器学习预测房价
176 0
|
5月前
|
机器学习/深度学习 算法 数据可视化
Machine Learning机器学习之高维数据降维(主成分分析PCA、线性判别分析、自编码器超级无敌详细讲解)
Machine Learning机器学习之高维数据降维(主成分分析PCA、线性判别分析、自编码器超级无敌详细讲解)
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
基于python 机器学习算法的二手房房价可视化和预测系统
文章介绍了一个基于Python机器学习算法的二手房房价可视化和预测系统,涵盖了爬虫数据采集、数据处理分析、机器学习预测以及Flask Web部署等模块。
基于python 机器学习算法的二手房房价可视化和预测系统
|
3月前
|
机器学习/深度学习 数据采集 人工智能
AI技术实践:利用机器学习算法预测房价
人工智能(Artificial Intelligence, AI)已经深刻地影响了我们的生活,从智能助手到自动驾驶,AI的应用无处不在。然而,AI不仅仅是一个理论概念,它的实际应用和技术实现同样重要。本文将通过详细的技术实践,带领读者从理论走向实践,详细介绍AI项目的实现过程,包括数据准备、模型选择、训练和优化等环节。
337 3
|
3月前
|
机器学习/深度学习 算法 数据可视化
Fisher模型在统计学和机器学习领域通常指的是Fisher线性判别分析(Fisher's Linear Discriminant Analysis,简称LDA)
Fisher模型在统计学和机器学习领域通常指的是Fisher线性判别分析(Fisher's Linear Discriminant Analysis,简称LDA)
|
3月前
|
机器学习/深度学习 数据处理 Python
机器学习实战:房价预测项目
【7月更文挑战第13天】本文详细介绍了基于机器学习的房价预测项目的实战过程。从数据准备、特征工程、模型构建到结果评估,每一步都至关重要。通过合理的特征选择和模型优化,我们可以构建出性能优异的房价预测模型,为房地产行业的决策提供有力支持。未来,随着机器学习技术的不断发展和应用场景的不断拓展,房价预测模型将更加智能化和精准化。
|
4月前
|
机器学习/深度学习 数据采集 算法
【机器学习】线性回归:以房价预测为例
【机器学习】线性回归:以房价预测为例
307 1