You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何sklearn LinearRegression.coef_不包含截距?如何获取截距参数?

问题解答

为什么reg.coef_不包含截距β?

在sklearn的LinearRegression中,模型参数被拆分为两部分独立存储:

  • coef_属性仅保存特征对应的系数(即公式里的α),单特征线性回归场景下,它是包含单个值的数组;
  • 截距β单独存放在intercept_属性中,因为截距属于模型的偏移量,不属于任何输入特征的权重范畴。

另外你的代码存在关键遗漏:调用predict或访问参数前,必须先执行reg.fit(X, Y)完成模型训练,否则无法得到正确参数值。

如何直接获取β参数?

不需要通过predict([[0]]),直接访问模型的intercept_属性即可。修正后的完整代码如下:

from sklearn.linear_model import LinearRegression

reg = LinearRegression()
X = [[0], [1], [3]]
Y = [0, 1, 2.5]
reg.fit(X, Y)  # 必须先完成模型训练

print("斜率α:", reg.coef_[0])       # 输出 0.82142857
print("截距β:", reg.intercept_)     # 输出 0.07142857142857142

内容的提问来源于stack exchange,提问作者Xiaoyong Guo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:20:10