避免线性回归的过拟合(二):线性回归的改进避免线性回归的过拟合(二):线性回归的改进——岭回归(附波士顿房价预测案例源代岭回归(附波士顿房价预测案例源代
码)码)
线性回归的改进线性回归的改进-岭回归岭回归
文章源代码下载地址:波士顿房价岭回归正则化预测代码实现
文章目录文章目录线性回归的改进-岭回归1.API2.观察正则化程度的变化,对结果的影响?3.波士顿房价正则化预测代码4.结果
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.观察正则化程度的变化,对结果的影响?观察正则化程度的变化,对结果的影响?
正则化力度越大力度越大,权重系数会越小(聚集在0附近了)
正则化力度越小,权重系数会越大
3.波士顿房价正则化预测代码波士顿房价正则化预测代码
#要用到的包
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
评论0