当前位置:   article > 正文

python机器学习(3)线性模型:回归_sklearn.linear_model lasso

sklearn.linear_model lasso

对于回归问题,线性模型预测的一般公式是: ŷ = 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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/333242
推荐阅读
相关标签
  

闽ICP备14008679号