level 6
YS易小唐
楼主
线性回归是基本的统计和机器学习技术之一。经济,计算机科学,社会科学等等学科中,无论是统计分析,或者是机器学习,还是科学计算,都有很大的机会需要用到线性模型。建议先学习它,然后再尝试更复杂的方法。本文主要介绍如何逐步在Python中实现线性回归。
回归
回归分析是统计和机器学习中最重要的领域之一。有许多可用的回归方法。线性回归就是其中之一。而线性回归可能是最重要且使用最广泛的回归技术之一。这是最简单的回归方法之一。它的主要优点之一是线性回归得到的结果十分容易解释。那么回归主要有:
1.简单线性回归
2.多元线性回归
3.多项式回归
如何在python中实现线性回归:用到的packages
1.NumPy
NumPy是Python的基础科学软件包,它允许在单维和多维数组上执行许多高性能操作。
2.scikit-learn
scikit-learn是在NumPy和其他一些软件包的基础上广泛使用的Python机器学习库。它提供了预处理数据,减少维数,实现回归,分类,聚类等的方法。
3.statsmodels
如果要实现线性回归并且需要功能超出scikit-learn的范围,则应考虑使用statsmodels可以用于估算统计模型,执行测试等。
scikit-learn的简单线性回归
1.导入用到的packages和类

2.创建数据

现在就生成了两个数组:输入x(回归变量)和输出y(预测变量),来看看:

可以看到x是二维的而y是一维的,因为在复杂一点的模型中,系数不只一个。这里就用到了.reshape()来进行转换。
3.建立模型
创建一个类的实例LinearRegression,它将代表回归模型:

现在开始拟合模型,首先可以调用.fit()函数来得到优的 ₀和 ₁,具体有下面两种等价方法:

4.查看结果
拟合模型之后就是查看与模型相关的各项参数:

.score()函数可以获得模型的 ²,再看看系数:

可以看到系数和截距分别为[0.54]和5.6333,注意系数是一个二维数组哦。
5.预测效果
一般而言,线性模型最后就是用来预测,我们来看下预测效果:

当然也可以使用下面的方法:

除了可以利用样本内的数据进行预测,也可以用样本外的数据进行预测。

至此,一个简单的线性回归模型就建立起来了。
scikit-learn的多元线性回归
1.导入包和类,并创建数据

看看数据

2.建立多元回归模型

3.查看结果

4.预测

所有的结果都在结果里,就不再过多解释。再看看多项式回归如何实现。
多项式回归
1.导入包和创建数据:

多项式回归和之前不一样的是需要对数据转换,因为模型里包含 ²等变量,所以在创建数据之后要将x转换为 ²。

再看看数据

2.建模
接下来的步骤就和之前的类似了。其实多项式回归只是多了个数据转换的步骤,因此从某种意义上,多项式回归也算是线性回归。

3.查看结果

4.预测

那么本次多项式回归的所有结果都在上面了,一目了然。
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。
2021年01月29日 09点01分
1
回归
回归分析是统计和机器学习中最重要的领域之一。有许多可用的回归方法。线性回归就是其中之一。而线性回归可能是最重要且使用最广泛的回归技术之一。这是最简单的回归方法之一。它的主要优点之一是线性回归得到的结果十分容易解释。那么回归主要有:
1.简单线性回归
2.多元线性回归
3.多项式回归
如何在python中实现线性回归:用到的packages
1.NumPy
NumPy是Python的基础科学软件包,它允许在单维和多维数组上执行许多高性能操作。
2.scikit-learn
scikit-learn是在NumPy和其他一些软件包的基础上广泛使用的Python机器学习库。它提供了预处理数据,减少维数,实现回归,分类,聚类等的方法。
3.statsmodels
如果要实现线性回归并且需要功能超出scikit-learn的范围,则应考虑使用statsmodels可以用于估算统计模型,执行测试等。
scikit-learn的简单线性回归
1.导入用到的packages和类

2.创建数据
现在就生成了两个数组:输入x(回归变量)和输出y(预测变量),来看看:
可以看到x是二维的而y是一维的,因为在复杂一点的模型中,系数不只一个。这里就用到了.reshape()来进行转换。3.建立模型
创建一个类的实例LinearRegression,它将代表回归模型:
现在开始拟合模型,首先可以调用.fit()函数来得到优的 ₀和 ₁,具体有下面两种等价方法:
4.查看结果拟合模型之后就是查看与模型相关的各项参数:

.score()函数可以获得模型的 ²,再看看系数:
可以看到系数和截距分别为[0.54]和5.6333,注意系数是一个二维数组哦。5.预测效果
一般而言,线性模型最后就是用来预测,我们来看下预测效果:

当然也可以使用下面的方法:
除了可以利用样本内的数据进行预测,也可以用样本外的数据进行预测。
至此,一个简单的线性回归模型就建立起来了。scikit-learn的多元线性回归
1.导入包和类,并创建数据

看看数据
2.建立多元回归模型
3.查看结果
4.预测
所有的结果都在结果里,就不再过多解释。再看看多项式回归如何实现。多项式回归
1.导入包和创建数据:

多项式回归和之前不一样的是需要对数据转换,因为模型里包含 ²等变量,所以在创建数据之后要将x转换为 ²。
再看看数据
2.建模接下来的步骤就和之前的类似了。其实多项式回归只是多了个数据转换的步骤,因此从某种意义上,多项式回归也算是线性回归。

3.查看结果
4.预测
那么本次多项式回归的所有结果都在上面了,一目了然。本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。