4.3 岭回归
学习目标
- 目标
说明岭回归的原理与线性回归的不同之处
说明正则化对参数的影响
说明L1和L2正则化的区别
- 应用:波士顿房价预测
4.3.1 带有L2正则化的线性回归岭回归
岭回归,其实也是一种线性回归。只不过在算法建立回归方程的时候,加上了正则化的限制,从而达到解决过拟合的效果。
4.3.2 API
4.3.3 观察正则化程度,对结果的影响。
从图上可知:
正则化力度越大,权重系数越小
正则化力度越小,权重系数越大
4.3.4 波士顿放假预测
def ridge():
"""
梯度下降的优化方法
迭代求解
针对大数据
:return:
"""
x_train, x_test, y_train, y_test = load_data()
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
# estimator = SGDRegressor(penalty='l2', loss="squared_loss") # 这样设置就相当于岭回归, 但是建议用Ridge方法
estimator = Ridge(max_iter=10000,alpha=0.01)
estimator.fit(x_train, y_train)
print("梯度下降_权重系数为: ", estimator.coef_)
print("梯度下降_偏置为:", estimator.intercept_)
y_predict = estimator.predict(x_test)
error = mean_squared_error(y_test, y_predict)
print("梯度下降_房价预测:", y_predict)
print("梯度下降_均分误差:", error)
return None