10. 线性回归的改进-岭回归

1 API

  • sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False)

    • 具有l2正则化的线性回归

    • alpha:正则化力度,也叫 λ

      • λ取值:0~1 1~10

    • solver:会根据数据自动选择优化方法

      • sag:如果数据集、特征都比较大,选择该随机梯度下降优化

    • normalize:数据是否进行标准化

      • normalize=False:可以在fit之前调用preprocessing.StandardScaler标准化数据

    • Ridge.coef_:回归权重

    • Ridge.intercept_:回归偏置

Ridge方法相当于SGDRegressor(penalty='l2', loss="squared_loss"),只不过SGDRegressor实现了一个普通的随机梯度下降学习,推荐使用Ridge(实现了SAG)

  • sklearn.linear_model.RidgeCV(_BaseRidgeCV, RegressorMixin)

    • 具有l2正则化的线性回归,可以进行交叉验证

    • coef_:回归系数

class _BaseRidgeCV(LinearModel):
    def __init__(self, alphas=(0.1, 1.0, 10.0),
                 fit_intercept=True, normalize=False,scoring=None,
                 cv=None, gcv_mode=None,
                 store_cv_values=False):

2 观察正则化程度的变化,对结果的影响?

  • 正则化力度越大,权重系数会越小

  • 正则化力度越小,权重系数会越大

3 波士顿房价预测

Last updated