python线性回归实例 python一元线性回归分析代码


python线性回归实例 python一元线性回归分析代码


线性回归可能是最常见的算法之一,线性回归是机器学习实践者必须知道的 。这通常是初学者第一次接触的机器学习算法,了解它的操作方式对于更好地理解它至关重要 。
所以,简单地说,让我们来分解一下真正的问题:什么是线性回归?
线性回归定义线性回归是一种有监督的学习算法,旨在采用线性方法来建模因变量和自变量之间的关系 。换句话说,它的目标是拟合一条最好地捕捉数据关系的线性趋势线,并且,从这条线,它可以预测目标值可能是什么 。
太好了,我知道它的定义,但它是如何工作的呢?好问题!为了回答这个问题,让我们逐步了解一下线性回归是如何运作的:
  1. 拟合数据(如上图所示) 。
  2. 计算点之间的距离(图上的红点是点,绿线是距离),然后求平方,然后求和(这些值是平方的,以确保负值不会产生错误的值并阻碍计算) 。这是算法的误差,或者更好地称为残差
  3. 存储迭代的残差
  4. 基于一个优化算法,使得该线稍微“移动”,以便该线可以更好地拟合数据 。
  5. 重复步骤2-5,直到达到理想的结果,或者剩余误差减小到零 。
这种拟合直线的方法称为最小二乘法 。
线性回归背后的数学如果已经理解的请随意跳过这一部分
【python线性回归实例 python一元线性回归分析代码】线性回归算法如下:
可以简化为:
以下算法将基本完成以下操作:
  1. 接受一个Y向量(你的数据标签,(房价,股票价格,等等…)
这是你的目标向量,稍后将用于评估你的数据(稍后将详细介绍) 。
  1. 矩阵X(数据的特征):
这是数据的特征,即年龄、性别、性别、身高等 。这是算法将实际用于预测的数据 。注意如何有一个特征0 。这称为截距项,且始终等于1 。
  1. 取一个权重向量,并将其转置:
这是算法的神奇之处 。所有的特征向量都会乘以这些权重 。这就是所谓的点积 。实际上,你将尝试为给定的数据集找到这些值的最佳组合 。这就是所谓的优化 。
  1. 得到输出向量:
这是从数据中输出的预测向量 。然后,你可以使用成本函数来评估模型的性能 。
这基本上就是用数学表示的整个算法 。现在你应该对线性回归的功能有一个坚实的理解 。但问题是,什么是优化算法?我们如何选择最佳权重?我们如何评估绩效?
成本函数成本函数本质上是一个公式,用来衡量模型的损失或“成本” 。如果你曾经参加过任何Kaggle比赛,你可能会遇到过一些 。一些常见的方法包括:
  • 均方误差
  • 均方根误差
  • 平均绝对误差
这些函数对于模型训练和开发是必不可少的,因为它们回答了“我的模型预测新实例的能力如何”这一基本问题?”. 请记住这一点,因为这与我们的下一个主题有关 。
优化算法优化通常被定义为改进某事物,使其发挥其全部潜力的过程 。这也适用于机器学习 。在ML的世界里,优化本质上是试图为某个数据集找到最佳的参数组合 。这基本上是机器学习的“学习”部分 。
我将讨论两种最常见的算法:梯度下降法和标准方程 。
梯度下降梯度下降是一种优化算法,旨在寻找函数的最小值 。它通过在梯度的负方向上迭代地采取步骤来实现这个目标 。在我们的例子中,梯度下降将通过移动函数切线的斜率来不断更新权重 。
梯度下降的一个具体例子为了更好地说明梯度下降,让我们看一个简单的例子 。想象一个人在山顶上,他/她想爬到山底 。他们可能会做的是环顾四周,看看应该朝哪个方向迈出一步,以便更快地下来 。然后,他们可能会朝这个方向迈出一步,现在他们离目标更近了 。然而,它们在下降时必须小心,因为它们可能会在某一点卡住,所以我们必须确保相应地选择我们的步长 。

推荐阅读