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

单自变量线性回归模型k和b系数计算的库函数查询

单变量线性回归(y=kx+b)的斜率与截距计算方法

以下是scipy、numpy、sklearn三个库中直接计算单变量线性回归斜率k和截距b的原生函数,附代码示例:

numpy:np.polyfit

最简洁的方式,利用一次多项式拟合实现线性回归,直接返回[k, b]:

import numpy as np

# 示例数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])

# 计算斜率和截距
k, b = np.polyfit(x, y, 1)
print(f"斜率k: {k:.4f}, 截距b: {b:.4f}")

scipy:scipy.stats.linregress

专门用于线性回归的统计函数,除斜率和截距外,还会返回相关系数、p值等统计指标,适合需要统计分析的场景:

from scipy.stats import linregress

# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 4, 5]

# 执行线性回归
reg_result = linregress(x, y)
k = reg_result.slope
b = reg_result.intercept
print(f"斜率k: {k:.4f}, 截距b: {b:.4f}")
# 可选:查看相关系数等额外统计量
# print(f"相关系数r: {reg_result.rvalue:.4f}")

sklearn:LinearRegression

虽主打多变量线性回归,但完全支持单变量场景,扩展性强,适合后续可能扩展到多变量的需求:

from sklearn.linear_model import LinearRegression
import numpy as np

# sklearn要求特征输入为二维数组,需对x做reshape处理
x = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([2, 4, 5, 4, 5])

# 拟合模型
model = LinearRegression()
model.fit(x, y)

k = model.coef_[0]  # 单变量下系数数组仅一个元素
b = model.intercept_
print(f"斜率k: {k:.4f}, 截距b: {b:.4f}")

内容的提问来源于stack exchange,提问作者Бодя павук

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:18:20