1
多元线性回归
前面介绍了多元线性回归求解的一种方式:通过正规方程求解参数。
其中θ包含(θ0~θn)一共(n 1)个参数值,但是对于实际的样本来说,一共有n个维度,其中θ0是截距intercept,在有的时候在进行线性回归的时候,最终返回给用户的时候,有可能不是将整个θ返回给用户的,而是将截距和下面的θ1 ~ θn(称之为系数coefficients)分开,这样做的原因在系数部分,每个θ值都对应着原来样本中的一个特征,这些系数从某种意义上来讲可以描述这些特征对于最终样本相应贡献程度是怎样的,而θ0截距和我们的样本特征是不相干的,只是一个偏移,所以把这两个部分分开。所以在我们自己封装多元线性回归的时候就采用分开的方式。当然在sklearn中也是采用这样的封装方式。
2
封装自己的多元线性回归类
首先在“playML”包下创建一个“LinearRegression.py”文件,此文件存放广义线性模型,也就是支持多元线性回归的方式,当然对于只有一个特征的简单线性回归问题,也可以将数据整理成矩阵的形式也可以传入LinearRegression来求解,换句话说,多元线性回归问题当然可以解决简单线性回归问题。
接下来再jupyter中使用真实的数据进行测试:
此时使用多个特征比只使用一个特征效果提升不少,从某种程度上这也印证了,如果我们的数据特征更多的话,并且这些特征真的能非常好的反映最终要预测的指标,此时就是房屋价格这个指标,相应的使用更多特征这样的数据,最终的预测结果会是更好的。