在上一篇讲了最小二乘法实现线性回归的原理,实现方面用的是python的static.optimize中的leastsq求出拟合函数。本篇通过sklearn库中的模块来进行拟合和线性回归,并计算拟合误差。
对于线性回归来说,无论是用什么工具实现,步骤都是大同小异的:
- 初始化多项式方程
- 对多项式方程进行多次迭代,通过最小二乘法求出使平方损失函数最小情况下的拟合方程。
- 对模型预测结果进行评估
- 调整参数修正模型
生成多项式方程
from sklearn.pipeline import Pipeline
clf = PolynomialFeatures(degree=3)
其中,degree参数为多项式的阶数
线性回归
from sklearn import linear_model
clf = linear_model.LinearRegression()
评估模型预测结果(误差分析)
- 标准误差(Standard Error),也称为均方根误差(Root Mean Square Error)。 S t d E r r o r ( y p r e d i c t , y t r u e ) = ∑ 1 n ( y p r e d i c t i − y t r u e i ) 2 n , i ∈ ( 1 , n ) StdError(y_{predict}, y_{true}) =\sqrt{\frac{\sum_{1}^{n}(y_{predict_i} - y_{true_i})^2}{n}}, i∈(1,n) StdError(ypredict,ytrue)=n∑1n(ypredicti−ytrue