0%

多元回归

多元线性回归是一种用于建模和预测多个自变量与一个因变量之间关系的统计方法。它是线性回归的扩展,适用于多个自变量的情况。在多元线性回归中,我们试图找到一个线性关系,使得自变量的线性组合能够较好地预测因变量。

以下是一个使用Python实现多元线性回归的示例代码,使用了numpyscikit-learn库:

首先,确保已安装 numpyscikit-learn 库,可以通过以下命令安装:

1
pip install numpy scikit-learn

接下来,使用下面的代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 生成示例数据
np.random.seed(0)
X = np.random.rand(100, 3) # 100个样本,3个特征
y = 2 * X[:, 0] + 3 * X[:, 1] + 4 * X[:, 2] + 1 + np.random.randn(100) # 使用线性关系生成因变量

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建多元线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = model.predict(X_test)

# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)

# 打印模型参数(系数和截距)
print("Coefficients:", model.coef_)
print("Intercept:", model.intercept_)

在上述代码中,我们首先生成了一个示例数据集,其中包含3个特征和一个因变量。然后,我们使用train_test_split函数将数据集划分为训练集和测试集。接着,我们创建了一个多元线性回归模型,并使用fit方法训练模型。在测试集上进行预测,并计算均方误差来衡量模型性能。

请注意,这只是一个简单的多元线性回归示例。在实际应用中,您可能需要考虑特征选择、模型评估、特征缩放等问题,以获得更好的回归模型。