Scikit-learn:在 X0 系数和截距之间混淆

Scikit-learn: Confused between coefficient of X0 and intercept

我的 train/test 中有一个额外的列用于 feature/X,它只是 1,这应该是 Xo 的系数,它从来不在数据集中。方程中提到为θo;

$$Y=θo + θ1X1$$

现在谈到截距,作为模型参数,我一直都知道这是 θ0。所以我对第一个系数的表示法有点困惑。 我在 0

之间感到困惑

[0. 144.345] and [55547.458] from the code:

    #model coefficient
    print(lin_reg.coef_)
>>>[[0.    144.345]]
    #model intercept
    print(lin_reg.intercept_)
>>>[55547.458]

提前致谢

.coef_ returns模型的参数值/权重值,权重数等于数据集中的特征数。从您在答案中提供的输出来看,您的数据集中似乎必须有 2 个特征,因此您的模型中有 2 个权重,一个值为 0.,另一个为 144.345 .

另一方面,.intercept_ returns 模型的 Y intercept/bias 值。您将其称为 θo。其值为 55547.458.

示例代码:

import numpy as np
from sklearn.linear_model import LinearRegression

X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3

reg = LinearRegression().fit(X, y)

print(reg.coef_)
# Output: [1. 2.]
print(reg.intercept_)
# Output: 3.00

# y = θo + θ1 * x_0 + θ2 * x_1 => 3.00 + 1 * x_0 + 2 * x_1