python机器学习(3)线性模型:回归

本文介绍了Python中的线性回归模型,包括普通最小二乘法、岭回归和Lasso回归。线性回归通过最小化均方误差进行参数学习。岭回归和Lasso回归引入正则化来防止过拟合,其中Lasso能进行特征选择。实验结果显示,岭回归在测试集上表现优于线性回归,而Lasso能在部分情况下减少特征数量。
摘要由CSDN通过智能技术生成

对于回归问题,线性模型预测的一般公式是: ŷ = w[0] * x[0] + w[1] * x[1] + … + w[p] * x[p] + b 。。有许多种不同的线性回归模型,区别在于模型如何学习到参数w和b,以及如何控制模型复杂度。

这里 x[0] 到 x[p] 表示单个数据点的特征,w 和 b 是学习模型的参数,ŷ 是模型的预测结果。对于单一特征的数据集,公式如下:ŷ = w[0] * x[0] + b

线性回归(回归问题最简单最经典的线性模型)

它试图找到参数w和b,使得预测值和真实值之间的均方误差最小。均方误差**(mean squared error)**是预测值与真实值之差的平方和除以样本数。

线性回归,或者普通最小二乘法(ordinary least squares,OLS),是回归问题最简单也最经典的线性方法。线性回归寻找参数 w 和 b,使得对训练集的预测值与真实的回归目标值 y之间的均方误差最小。
均方误差(mean squared error)是预测值与真实值之差的平方和除以样本数。线性回归没有参数,这是一个优点,但也因此无法控制模型的复杂度。

回归wave数据集

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import mglearn
# 生成60个样本数据, 一维特征
X, y = mglearn.datasets.make_wave(n_samples=60)
# 切分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
# 训练线性回归模型
lr = LinearRegression().fit(X_train, y_train)
#coef_就是斜率w, 即每个特征对应一个权重
print("lr.coef_: {}".format(lr.coef_))
#intercept_是截距b
print("lr.intercept_: {}".format(lr.intercept_))
#intercept_ 属性是一个浮点数,而 coef_ 属性是一个 NumPy 数组,每个元素对应一个输入特征。
#训练集精度
print("Training set score: {:.2f}".format(lr.score(X_train, y_train)))
#测试集精度
print(
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值