python多元回归预测 最小二乘法
时间: 2025-01-10 10:54:38 浏览: 20
多元线性回归预测的实现
为了使用Python进行多元线性回归预测并采用最小二乘法,可以通过定义自变量矩阵(X)和因变量向量(y)来构建模型。具体来说,利用numpy
库中的操作可以方便地执行矩阵运算以求得回归系数。
对于给定的数据集,假设存在多个特征作为输入,则这些特征构成矩阵(X);而目标值形成向量(y)。下面展示了一个具体的例子,在此案例中,先创建了含有两个特征的自变量矩阵以及相应的因变量向量[^1]:
import numpy as np
# 定义自变量矩阵X和因变量向量y
X = np.array([[1, 2], [1, 3], [1, 4]]) # 自变量矩阵X,包含截距项和其他特征
y = np.array([3, 4, 5]) # 因变量向量y
接着,应用最小二乘法公式[ \beta=(X^{T}X)^{-1}X^{T}y] 来计算回归系数(\beta)。这一步骤涉及到转置、内积和求逆等基本的线性代数运算,均可以在numpy
的帮助下轻松完成:
# 计算回归系数β
beta = np.linalg.inv(X.T @ X) @ X.T @ y
print('回归系数:', beta)
上述过程展示了如何手动通过最小二乘法获得回归方程式的参数估计值。然而,在实际项目开发过程中,更推荐使用成熟的机器学习框架如scikit-learn
来进行建模工作,因为这类工具不仅提供了更加高效稳定的算法实现方式,还内置了许多实用的功能用于评估模型性能、处理缺失数据等问题[^4]。
当面对更大规模或更高维度的数据时,直接调用sklearn.linear_model.LinearRegression()
类可能是更好的选择。该类内部实现了优化后的最小二乘解法,并支持多种配置选项以便于调整拟合效果。以下是基于scikit-learn
的一个简单实例:
from sklearn.linear_model import LinearRegression
# 准备训练样本
X_train = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y_train = [3, 6, 9]
# 初始化线性回归对象
model = LinearRegression()
# 对模型进行训练
model.fit(X_train, y_train)
# 利用已训练好的模型做预测
X_test = [[2, 3, 4], [5, 6, 7]]
predictions = model.predict(X_test)
# 输出预测的结果
print(predictions)
这段代码片段说明了怎样借助第三方库快速搭建起一个完整的多元线性回归分析流程——从准备数据到最终得到预测输出。
相关推荐



















