我的训练/测试集中有一个额外的列,用于特征/X,它只是 1
,这应该是Xo的系数,而Xo从未出现在数据集中。它在方程中被称为θo;
$$Y=θo + θ1X1$$
现在谈到截距,作为模型参数,我一直认为这是θ0。所以我有点困惑于第一个系数的表示法。我对下面的0感到困惑
[0. 144.345]和[55547.458]来自代码:
#模型系数 print(lin_reg.coef_)>>>[[0. 144.345]] #模型截距 print(lin_reg.intercept_)>>>[55547.458]
提前感谢
回答:
.coef_
返回模型的参数值/权重值,权重的数量等于数据集中特征的数量。从您提供的输出来看,似乎您的数据集中有2个特征,因此您的模型中有2个权重,一个值为 0.
,另一个值为 144.345
。
另一方面,.intercept_
返回模型的Y截距/偏置值。您将其称为 θo
,其值为 55547.458
。
示例代码:
import numpy as npfrom sklearn.linear_model import LinearRegressionX = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])y = np.dot(X, np.array([1, 2])) + 3reg = LinearRegression().fit(X, y)print(reg.coef_)# 输出: [1. 2.]print(reg.intercept_)# 输出: 3.00# y = θo + θ1 * x_0 + θ2 * x_1 => 3.00 + 1 * x_0 + 2 * x_1