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
我的 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