【数据挖掘】岭回归Ridge讲解及实战应用(超详细 附源码)

需要源码请点赞关注收藏后评论区留言私信~~~

岭回归

岭回归(Ridge Regression)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价,获得回归系数更为符合实际、更可靠的回归方法,对病态数据的耐受性远远强于最小二乘法

岭回归的目标函数在一般的线性回归的基础上加入了L2正则项,在保证最佳拟合误差的同时,使得参数尽可能的“简单”,使得模型的泛化能力强,同时可以解决线性回归中不可逆情况

岭回归算法是在原线性回归模型的损失函数中增加L2正则项

 

岭回归主要适用于过拟合严重或各变量之间存在多重共线性的情况,它可以解决特征数量比样本量多的问题,另外,岭回归作为一种缩减算法可以判断哪些特征重要或者不重要,有点类似于降维,缩减算法可以看作是对一个模型增加偏差的同时减少方差。但是岭回归方程的R平方值会稍低于普通回归分析,但回归系数的显著性往往明显高于普通回归,在存在共线性问题和病态数据偏多的研究中有较大的实用价值

欠拟合、过拟合与泛化能力

明显地向两端寻找曲线点,看看这些形状和趋势是否有意义。更高次的多项式最后可能产生怪异的推断结果

模型在训练样本上产生的误差叫训练误差(training error。在测试样本上产生的误差叫测试误差(test error)

 

 

衡量模型好坏的是测试误差,它标志了模型对未知新实例的预测能力,因此一般追求的是测试误差最小的那个模型。模型对新实例的预测能力称为泛化能力,模型在新实例上的误差称为泛化误差

能够求解问题的模型往往不只一个。一般来说,只有合适复杂程度的模型才能最好地反映出训练集中蕴含的规律,取得最好的泛化能力

 

岭回归实战

实战效果如下 可见可以十分精确的拟合数据

 部分代码如下

import numpy as np 
import matplotlib.pyplot as plt  
from sklearn.linear_model import Ridge,RidgeCV   
# Ridge岭回归,RidgeCV带有广义交叉验证的岭回归
data=[
    [0.07,3.12],[0.41,3.82],[0.99,4.55],[0.73,4.25],[0.98,4.56],
    [0.55,3.92],[0.34,3.53],[0.03,3.15],[0.13,3.11],[0.13,3.15],
    [],[0.36,3.51],[0.15,3.12],[0.63,4.09],[0.23,3.46],
    [0.08,3.22],[0.06,3.19],[0.92,4.63],[0.71,4.29],[0.01,3.08],
    [0.34,3.45],[0.04,3.16],[0.21,3.36],[0.61,3.99],[0.54,3.89] ]
#生成X和y矩阵
dataMat = np.array(data)
X = dataMat[:,0:1]   # 变量x
y = dataMat[:,1]   #变量y
# 岭回归
model = Ridge(alpha=0.5)
model = RidgeCV(alphas=[0.1, 1.0, 10.0])  
# RidgeCV可以设置多个参数,算法使用交叉验证获取最佳参数值
model.fit(X, y)   # 线性回归建模
print('系数矩阵:',model.coef_)
print(预测
predicted = model.predict(X)
# 绘制散点图 参数:x横轴 y纵轴
plt.scatter(X, y, marker='o')
plt.plot(X, predicted,c='r')
# 绘制x轴和y轴坐标
plt.xlabel('x')
plt.ylabel('y')
# 显示图形
plt.show()

 创作不易 觉得有帮助请点赞关注收藏~~~

  • 14
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值