1、线性回归的简单介绍
线性回归分为一元线性回归和多元线性回归,是统计学中用于建模和分析变量之间关系的两种基本方法。它们的主要区别在于模型中所涉及的预测变量(自变量)的数量。
-
一元线性回归(Simple Linear Regression)
- 一元线性回归是分析两个变量之间线性关系的方法,其中一个变量是自变量(X),另一个是因变量(Y)。在这种模型中,我们假设Y与X之间存在线性关系,即Y可以表示为X的线性函数加上一个误差项。一元线性回归的方程可以表示为:
- 一元线性回归是分析两个变量之间线性关系的方法,其中一个变量是自变量(X),另一个是因变量(Y)。在这种模型中,我们假设Y与X之间存在线性关系,即Y可以表示为X的线性函数加上一个误差项。一元线性回归的方程可以表示为:
-
多元线性回归(Multiple Linear Regression)
- 多元线性回归是一元线性回归的扩展,它用于分析一个因变量(Y)与两个或更多自变量(X1, X2, …, Xn)之间的线性关系。在多元线性回归模型中,Y被假设为这些自变量的线性组合加上一个误差项。多元线性回归的方程可以表示为:
- 多元线性回归是一元线性回归的扩展,它用于分析一个因变量(Y)与两个或更多自变量(X1, X2, …, Xn)之间的线性关系。在多元线性回归模型中,Y被假设为这些自变量的线性组合加上一个误差项。多元线性回归的方程可以表示为:
-
主要区别
- 自变量数量:一元线性回归只涉及一个自变量,而多元线性回归涉及两个或更多自变量。
- 模型复杂度:由于包含更多的自变量,多元线性回归模型能够捕捉更复杂的数据关系,但也面临过拟合和变量选择等挑战。
- 解释性:在多元线性回归中,每个自变量的回归系数表示在保持其他自变量不变的情况下,该自变量每增加一个单位对因变量的平均影响。而在一元线性回归中,这个解释更为直接和简单。
- 应用场景:当数据集中只有一个自变量时,使用一元线性回归;当数据集包含多个可能相关的自变量时,使用多元线性回归。
2、安装scikit-learn
Python中执行线性回归的一个非常流行和强大的库是scikit-learn。scikit-learn提供了丰富的工具来进行数据挖掘和数据分析,包括简单和复杂的线性回归模型。
-
如果你还没有安装scikit-learn,你可以通过pip来安装它:
pip install scikit-learn
3、准备示例的数据集
- 首先我们给定准备用于模型训练的数据集,如下图所示的两份数据集(左边为一元线性模型的数据集,右边为二元):
- 自取数据集:
4、一元线性回归示例
-
通过模型训练,找到广告投入(自变量)的多少对销售额(因变量)影响的一元线性关系
-
步骤:
- 1、导入数据
- 2、 绘制数据之间的散点图
- 3、求数据之间的相关系数
- 4、设置模型参数,建立回归模型
- 5、训练模型并检测
- 6、求出线性回归模型
- 7、利用回归模型进行预测
-
1、导入数据
- 运用pandas中读取文件的方式,导入数据
data = pd.read_csv("data.csv")
- 运用pandas中读取文件的方式,导入数据
-
2、 绘制数据之间的散点图
-
运用matplotlib库中的画图方法画出数据之间的散点图,观察数据之间是否具有线性相关的趋势
-
这一步骤在整个代码中并没有起到处理数据的作用,只是为了让我们可以直观的看出数据之间的关系
plt.scatter(data.广告投入, data.销售额) plt.show()
-
-
3、求数据之间的相关系数
- 在Python中,特别是在使用pandas库处理数据时,corr()函数是一个非常有用的方法,它用于计算DataFrame中列与列之间的相关系数。
- 相关系数越接近1,说明它们之间受相互的影响越大
corr = data.corr()
-
4、设置模型参数,建立回归模型
- 分别用变量接收数据中的值,后面