一、前言
最近在写小论文,就是硕士毕业论文的部分成果,需要用到线性回归,所以就把相关代码贴上,便于日后写论文时总结,也顺便给后来者提供思路。小论文的思路主要是,先用线性回归,再用随机森林,最后再用xgboost,来预测房价,最后得出结论。所以,这个会陆续的贴出相关代码。至于数据清洗那一块,暂时不贴上了,主要原因就是数据清洗不容易,并且每个人的清洗方法也不一样,所以主要还是看思路。
二、算法简介
2.1 什么是回归分析
回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。通常使用曲线/线来拟合数据点,目标是使曲线到数据点的距离差异最小。股票预测,房价预测等都属于回归分析,简单理解即:预测结果可以是任意的。和分类分析对比,分类就是对与错,1和0,是与否的关系,而回归问题则是结果不固定,可能是一个区间内的任意数字,比如房价,比如工资,可能是1-1w内的任意数字。
2.2 线性回归
线性回归是回归问题中的一种,线性回归假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数w和b。通长我们可以表达成如下公式:
y^为预测值,自变量x和因变量y是已知的,而我们想实现的是预测新增一个x,其对应的y是多少。因此,为了构建这个函数关系,目标是通过已知数据点,求解线性模型中w和b两个参数。
如果预测的是房价,最简单的理解,面积*单价=总价,但是单价是怎么来的呢?为啥有的地方可以卖到1w,有些地方能卖到3w呢,所以说房价的影响是多因素的。那么用线性回归来预测房价,只能说太过理想化或者简单化了。预测的结果肯定不会太高。
2.3 目标/损失函数
求解最佳参数,需要一个标准来对结果进行衡量,为此我们需要定量化一个目标函数式,使得计算机可以在求解过程中不断地优化。