线性回归
线性回归是一种基于单个预测变量X预测响应Y的方法。假设X和Y之间存在近似线性关系。在数学上,大家可以将此关系表示为:
Y≈ɒ+ßX+ℇ
其中ɒ和ß是两个未知常数,表示线性模型中的截距和斜率项,ℇ是估计中的误差。
举例
大家来看一个最简单的例子。仅使用两个数据点计算回归。
这里大家有两个黑点代表的2个数据点。当大家计算回归线时,大家所要做的就是绘制一条尽可能接近每一点的线。
在这里,大家有一个完美拟合的线,因为大家只有两个点。现在,大家必须考虑一个两个以上数据点的情况。
通过应用线性回归,大家可以采用多个X并预测相应的Y值。这在下图中描述:
大家使用线性回归的目标是最小化所有数据点和线之间的垂直距离。
而你现在可能有了一个基本的想法,那就是线性回归的目的是什么。
Python代码
首先,让大家导入库:
下一步是导入和检查数据。
在这里,使用USA_Housing.csv作为示例数据集。探索数据集始终是一种好习惯。尝试使用自己的文件,并运行上面的代码以获取有关数据集的所有可能信息。
数据集的前五个记录的快照
在这里,偶正在考虑将Price作为因变量,其余作为自变量。这意味着偶必须根据自变量预测价格。
现在是时候使用数据并创建一些可视化的图。
配对图基于两个基本图形,即直方图和散点图。对角线上的直方图允许大家看到单个变量的分布,而上下三角形的散点图显示两个变量之间的关系(或缺少)。
开始探索单个变量的一个好方法是使用直方图。直方图将变量划分为组距(bin),计算每个组距中的数据点,并显示x轴上的组距和y轴上的计数。
关联性
相关系数或简称相关性是一个范围从-1到1的索引。当该值接近零时,没有线性关系。随着相关性接近1或-1,关系更强。值为1(或-1)表示两个变量之间的完美线性关系。让大家找到数据集中变量之间的相关性。
现在,让大家使用热图绘制相关性:
黑色表示两个变量之间没有线性关系。较浅的阴影表明变量之间的关系更加线性。
决定系数
决定系数R2是响应变量Y的变化的分数(百分比),其可由预测变量X解释。其范围在0(无可预测性)与1(或100%)之间,其表示完全可预测性。高的R2表示能够以较少的错误预测响应变量。
训练线性回归模型
大家现在开始训练回归模型。大家需要首先将数据拆分为包含需要训练的特征的X数组,以及包含目标变量的y数组,在本例中为Price列。大家将抛出Area列,因为它只包含线性回归模型无法使用的文本信息。
训练测试拆分
大家的目标是创建一个能够很好地推广新数据的模型。大家的测试集用作新数据的代理。训练数据是大家应用线性回归算法的数据。最后大家在测试数据上测试该算法。拆分代码如下:
从上面的代码片段中大家可以推断出40%的数据会进入测试数据中,其余数据仍保留在训练集中。
创建和训练模型
上述代码适合训练数据的线性回归模型。
从模型的预测
让大家从测试集中获取预测,看看它有多好!
让大家想象一下预测
工作完成得相当不错,已经获得了一个线性模型!
更多的文章、资讯,请关注AI中国,无论你是小白,还是大神,在这里均可以找到你想要的,找到属于你的交流天地!