多元线性回归
摘要
前面学习的简单线性回归,只有一个变量X。但在真实场景中往往样本中有多个变量。这里我们就学习下多元线性回归。
0x01 关键概念
多元是指多个变量。
h(x) = theta(0)* + theta(1)*x(1) + … + theta(n)*x(n)
利用梯度下降或最小二乘法计算参数theta
0x02 梯度下降和最小二乘法的选择
- 数据量小的时候用最小二乘
因为大数据量时矩阵求你计算量特别大 - 数据量大的时候可以考虑使用梯度下降
0x03 sklearn中的线性回归
print('线型模型的系数(w): {}'.format(lin_reg.coef_))
print('线型模型的常数项(b): {:.3f}'.format(lin_reg.intercept_))
0x04 算法评价
- 决定系数,即R^2
描述了一种指标,反应y的波动有多少百分比能被x的波动的预测值的所描述的能力。当拟合程度上升时,往1的方向接近
R^2 = 1 - SS(res)/SS(tot)
其中
SS(res) = 求和((y(i) - y(预测值))^2)
SS(tot) = 求和((y(i) - y(均值))^2)
- 所以当拟合越好时,分子
SS(res)
越小,R^2越接近于1 - 拟合线最差的情况,SS(res)大于SS(tot),也就是说R^2可能小于0