赞
踩
对于回归问题,线性模型预测的一般公式是: ŷ = 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)是预测值与真实值之差的平方和除以样本数。线性回归没有参数,这是一个优点,但也因此无法控制模型的复杂度。
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(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。