使用LinearRegression求解多元线性回归的代码
时间: 2024-05-05 16:15:04 浏览: 15
以下是使用sklearn库中的LinearRegression类进行多元线性回归的代码:
```python
from sklearn.linear_model import LinearRegression
# 构造训练数据和标签
X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [10, 20, 30]
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X, y)
# 预测新样本
x_test = [[2, 3, 4], [5, 6, 7]]
y_pred = model.predict(x_test)
# 输出预测结果
print(y_pred) # [18. 28.]
```
解释:
首先,我们构造训练数据和标签,其中X是一个3x3的矩阵,每一行代表一个样本,每一列代表一个特征;y是一个长度为3的一维向量,代表每个样本的标签。
然后,我们使用LinearRegression类创建一个线性回归模型,并使用fit方法训练模型。
接着,我们创建两个新样本x_test,每个样本都有3个特征值。我们使用predict方法对这两个样本进行预测,并将预测结果存放在y_pred中。
最后,我们输出预测结果,可以看到模型对这两个样本的预测结果分别为18和28。
相关问题
使用LinearRegression的最小二乘法求解多元线性回归的代码
下面是使用LinearRegression的最小二乘法求解多元线性回归的Python代码:
```python
from sklearn.linear_model import LinearRegression
import numpy as np
# 生成随机数据
np.random.seed(0)
X = np.random.rand(100, 3)
y = 2*X[:,0] + 3*X[:,1] + 4*X[:,2] + np.random.rand(100)
# 训练模型
model = LinearRegression().fit(X, y)
# 打印参数
print('Coefficients:', model.coef_)
print('Intercept:', model.intercept_)
```
在上面的代码中,我们首先生成了一个随机的100x3的特征矩阵X和一个长度为100的目标变量向量y。然后,我们使用LinearRegression类来训练模型,并将特征矩阵X和目标变量向量y作为输入。最后,我们打印出模型的参数,包括斜率(coefficients)和截距(intercept)。
运行上面的代码,输出结果如下:
```
Coefficients: [2.01570777 2.95860743 3.98723927]
Intercept: 0.5068609759972023
```
我们可以看到,模型的参数和我们生成数据时使用的真实参数非常接近,表明模型的训练效果很好。
多元线性回归求解可信度测试代码
当涉及到多元线性回归的可信度测试时,一个常用的方法是计算回归模型的拟合优度(goodness of fit)。通常,我们使用R平方(R-squared)作为衡量模型拟合程度的指标。
以下是一个示例代码,用于计算多元线性回归模型的可信度测试:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
# 准备数据
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 自变量
y = np.array([10, 20, 30]) # 因变量
# 创建线性回归模型
model = LinearRegression()
# 拟合数据
model.fit(X, y)
# 计算R平方
r_squared = model.score(X, y)
print("R-squared:", r_squared)
```
在上面的示例中,我们首先准备了自变量X和因变量y的数据。然后,创建了一个线性回归模型,并使用`fit()`方法拟合数据。最后,使用`score()`方法计算模型的R平方,并将结果打印出来。
请注意,这只是一个简单的示例,实际应用中可能涉及更复杂的数据和模型。同时,还可以使用其他指标来评估模型的可信度,如调整后的R平方、F统计量等,具体选择哪种指标取决于具体情况和需求。