AI-机器学习-自学笔记(八)岭回归算法

本文介绍了如何使用scikit-learn中的Ridge类实现岭回归算法,并通过波士顿房价数据集展示了其在处理共线性和病态数据方面的优势。实验结果显示了RidgeRegression的平均负均方误差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在 scikit-leam 中实现岭回归算法的是 Ridge 类。

我们用波士顿数据集来验证一下岭回归算法

from pandas import read_csv 
from sklearn.model_selection import KFold 
from sklearn.model_selection import cross_val_score 
from sklearn.linear_model import Ridge 
#导入数据
filename = 'data/boston_housing.csv'
names =['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PRTATIO','B','LSTAT','MEDV']
data = read_csv (filename , names=names, delim_whitespace=False) 
data=data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
#将数据分为输入数据和输出结果
array = data.values 
X =array[:,0:13] 
Y =array[:,13]
n_splits = 10 
seed = 7 
kfold = KFold(n_splits=n_splits, random_state=seed,shuffle=True) 
model = Ridge () 
scoring= 'neg_mean_squared_error'
result= cross_val_score(model, X, Y, cv=kfold, scoring=scoring) 
print('Ridge Regression:%.3f' %  result.mean())

打印结果如下:

PS C:\coding\machinelearning> c:/coding/machinelearning/岭回归算法-波士顿数据集.py
Ridge Regression:-22.304
PS C:\coding\machinelearning> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值