百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

机器学习——Linear Regression 线性回归

toyiye 2024-04-27 03:47 31 浏览 0 评论

Linear Regression 线性回归

Created: Mar 30, 2020 8:59 PM

什么是线性回归?

线性回归是一种用线性方法建模表示变量y和x直接的关系。例如房价的预测,温度的预测

  • 线性回归是一种监督学习算法
  • 每个样本有一个或者多个输入和一个输出
  • 线性回归使用直线,平面,超平面去拟合训练样本,并输出结果
  • 线性回归易于解释和训练
  • 线性回归可以用作评估其他更复杂的回归模型的基准

线性回归可以用来干嘛?

  • - 预测
  • - 确定变量之间是否存在关系

如何找到最好的线

在数据集上表现最好的线是使点和回归之间的“平方差”之和最小。

Mean vs Total Squared

Total Squared error

Mean squared error

M = 2T

因为梯度下降会乘以学习率alpha ,因此,在均方误差和总平方误差之间进行选择实际上就等于选择了不同的学习率。

Mean Squared Error 均方误差

### Mean Absolute Error 均绝对值误差

梯度下降

梯度的本意是一个向量,表示某一个函数在该点处的方向导数,沿着该方向取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。梯度就是对多变量函数导数的泛化。

正规方程

我们用矩阵的形式表示:

n表示特征的个数,m表示样本的个数


所以损失函数可以表示为:

在上述总和中,第二项和第三项是相同的,因为它是两个向量的内积,这意味着它是其坐标的乘积之和。因此

我们需要对矩阵中的所有值取导数

scikit-learn 实现

# TODO: Add import statements

import pandas as pd

from sklearn.linear_model import LinearRegression

# Assign the dataframe to this variable.

# TODO: Load the data

bmi_life_data = pd.read_csv("Ames_Housing_Sales.csv")

# Make and fit the linear regression model

#TODO: Fit the model and Assign it to bmi_life_model

bmi_life_model = LinearRegression()

bmi_life_model.fit(bmi_life_data[['BMI']], bmi_life_data[['Life expectancy']])

# Mak a prediction using the model

# TODO: Predict life expectancy for a BMI value of 21.07931

laos_life_exp = bmi_life_model.predict(21.07931)

多元线性回归

除了房子的大小,再加入一个学校的质量。

对于多维的求解和二维的算法完全相同。


需要注意的点:

1、当数据为线性的时,线性回归表现最佳,如果训练的数据不是真正的线性关系,则需要进行调整,例如添加特征,

2、线性回归对异常值比较敏感

多项式回归

那么如果我们拥有看起来像下图的数据会发生什么,直线不能很好的拟合,我们就可以使用一条曲线或多项式回归,可以使用与线性回归非常相似的算法来解决。


相关推荐

Python 可视化工具包(python常见的可视化工具)

喜欢用Python做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?本文将介绍一些常用的Python可视化包,包括这些包的优缺点以及分别适用于什么样的场景。这篇文章...

Python的GPU编程实例——近邻表计算

目录技术背景...

python算法体验-3.python实现欧式距离的三种方式

欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。欧式距离源自N维欧氏空间中两点...

python实现Lasso回归分析(特征筛选、建模预测)

实现功能:...

python语言检测模块langid、langdetect使用

本文首发地址:https://blog.csdn.net/Together_CZ/article/details/86678423欢迎关注我的博客【Together_CZ】,我是沂水寒城!之前使用数据...

7天学会Python最佳可视化工具Seaborn(一):可视化变量间的关系

众所周知,Seaborn“可能”是Python下最友好、易用的可视化工具了,可视化效果也非常好。但是截止目前,并没有一份中文教程供广大国内Python使用者查阅学习。怎么能因为语言的问题,让大家错过这...

在Python中使用K-Means聚类和PCA主成分分析进行图像压缩

各位读者好,在这篇文章中我们尝试使用sklearn库比较k-means聚类算法和主成分分析(PCA)在图像压缩上的实现和结果。压缩图像的效果通过占用的减少比例以及和原始图像的差异大小来评估。图像压...

OpenCV-Python 相机校准 | 四十九

目标在本节中,我们将学习由相机引起的失真类型,如何找到相机的固有和非固有特性如何根据这些特性使图像不失真基础一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出...

python数据预处理技术(python 数据预处理)

在真实世界中,经常需要处理大量的原始数据,这些原始数据是机器学习算法无法理解的。为了让机器学习算法理解原始数据,需要对数据进行预处理。我们运行anaconda集成环境下的“jupyternotebo...

【Python可视化系列】一文教你绘制不同类型散点图(理论+源码)

这是...

OpenCV-Python 特征匹配 | 四十四

目标在本章中,我们将看到如何将一个图像中的特征与其他图像进行匹配。我们将在OpenCV中使用Brute-Force匹配器和FLANN匹配器Brute-Force匹配器的基础蛮力匹配器很简单。它使用第一...

实战python中Random模块使用(python中的random模块)

一、random模块简介Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。要在Python中使用random模块,只需要...

Python随机模块22个函数详解(python随机函数的应用)

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。平时数据分析各种分布的数据构造也会用到。random模块,用于生成伪随机数,之所以称之为伪随机数,是...

说冲A就冲A,这个宝藏男孩冯俊杰我pick了

爱奇艺新上架了一部网剧叫《最后一个女神》。有个惊人的发现,剧里男三居然是《青春有你》的训练生冯俊杰。剧组穷,戏服没几件,冯俊杰几乎靠一件背背佳撑起了整部剧。冯俊杰快速了解一下。四川人,来自觉醒东方,人...

唐山打人嫌犯陈继志去医院就医的背后,隐藏着三个精心设计的步骤

种种迹象表明,陈继志这帮人对处理打人之后的善后工作是轻车驾熟的,他们想实施的计划应该是这样的:首先第一步与伤者进同一家医院做伤情鉴定,鉴定级别最好要比对方严重,于是两位女伤者被鉴定为轻伤,他们就要求医...

取消回复欢迎 发表评论:

请填写验证码