老饼讲解-机器学习 机器学习 神经网络 深度学习
线性模型

【代码】sklearn-实现岭回归

作者 : 老饼 发表日期 : 2023-11-09 12:21:20 更新日期 : 2023-11-09 15:15:43


本文展示一个使用sklearn实现岭回归模型的Demo代码

通过本文可以掌握在实际应用中如何调用sklearn来实现岭回归模型



    01. 如何用sklearn实现岭回归    



本节展示如何用sklearn实现岭回归模型的求解



     问题     


现有数据以下
 

需要我们建立岭模型,用变量 x1,x2 预测y
✍️备注
 以上数据的实际关系为: 
  
建完模可以回头看看建模的结果与这个是否一致




   用sklearn包求解岭回归模型   


用python的sklearn实现岭回归模型
只需调用linear_model.Ridge()函数
 代码如下
from sklearn import linear_model
import numpy as np

#输入数据
x = np.array([[0, 2], [1, 1], [2,3],[3,2],[4,5],[5,2]])
y = np.array([8,7,15,14,25,18])

#调用sklearn的线性模型包,训练数据
ridge = linear_model.Ridge(alpha=1,fit_intercept=True)   # 模型实例化
ridge.fit(x,y)                                           # 模型训练

#输出模型系数和阈值
print("当前alpha:"+str(ridge.alpha))
print("模型参数:"+str(ridge.coef_))
print("模型阈值:"+str(ridge.intercept_))
运行结果
将其中的alpha分别设置为0、1、2后,
得到结果分别如下:
当前alpha:0                                              
模型参数:[2. 3.]                                       
模型阈值:2.0                                           
---------------------------------------------
当前alpha:1                                            
模型参数:[1.97256098 2.72865854]     
模型阈值:2.7469512195121943           
---------------------------------------------
当前alpha:2                                           
模型参数:[1.93298969 2.51030928]    
模型阈值:3.391752577319588            

从结果中可以看到,在alpha=0时,岭回归模型就相当于线性回归,
而随着惩罚系数alpha的增大,模型的权重逐步减小
因此,在线性回归模型的系数过大时,就可以使用岭回归来惩罚系数,
从而得到一个系数相对较小的线性模型











 End 










联系老饼