多元线性回归python实现的例子
时间: 2023-11-26 13:06:09 浏览: 93
可以参考以下代码实现多元线性回归:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
# 生成训练数据
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
y = np.array([6, 15, 24, 33])
# 初始化线性回归模型
lr = LinearRegression()
# 拟合数据
lr.fit(X, y)
# 预测新数据
new_X = np.array([[13, 14, 15]])
print(lr.predict(new_X))
```
以上就是一个简单的多元线性回归的Python实现例子。
相关问题
多元线性回归python代码实现
### 多元线性回归的Python实现
为了实现多元线性回归,可以利用`scikit-learn`库中的`LinearRegression`类。下面展示了一个完整的例子,该实例不仅涵盖了模型创建与训练的过程,还包含了如何评估模型性能以及做出新的预测。
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# 假设有一个CSV文件名为data.csv,其中包含多个特征列和目标变量列'y'
dataset = pd.read_csv('data.csv')
X = dataset.drop(columns=['y']) # 特征矩阵
y = dataset['y'] # 目标向量
# 将数据集划分为训练集和测试集
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) # 使用训练数据拟合模型[^4]
print("截距 (β0):", model.intercept_)
for idx, col_name in enumerate(X.columns):
print(f"斜率 ({col_name}): {model.coef_[idx]}")
# 对测试集做预测
predictions = model.predict(X_test)
# 打印均方误差(MSE) 和 R²得分作为评价指标
mse = mean_squared_error(y_test, predictions)
r2 = r2_score(y_test, predictions)
print(f'Mean Squared Error: {mse}')
print(f'R-squared Score: {r2}')
# 可视化部分真实值 vs 预测值的结果对比图
plt.figure(figsize=(8, 6))
plt.scatter(range(len(predictions)), predictions, color="blue", label="Predicted Values")
plt.scatter(range(len(y_test)), y_test.values.tolist(), color="red", label="Actual Values")
plt.title('Comparison of Predictions and Actuals')
plt.legend(loc='best')
plt.show()
```
在这个案例里,通过读取外部的数据源构建了特征矩阵\(X\)和目标向量\(y\);接着采用随机划分的方式把原始数据分成了用于训练(`train`)和验证(`test`)两份子集;最后基于训练好的模型进行了参数估计,并对未知样本做出了响应性的预测,同时给出了简单的可视化比较图表以便直观理解模型的表现情况。
多元线性回归 Python代码
多元线性回归是一种用于建立多个自变量与一个因变量之间关系的统计模型。下面是一个使用Python实现多元线性回归的例子:
```python
import numpy as np
import pandas as pd
import statsmodels.api as sm
# 准备数据
data = pd.read_csv('data.csv') # 读取数据文件
X = data[['x1', 'x2', 'x3']] # 自变量
y = data['y'] # 因变量
# 添加常数列
X = sm.add_constant(X)
# 构建模型
model = sm.OLS(y, X)
# 拟合模型
results = model.fit()
# 打印回归结果
print(results.summary())
```
在这个例子中,我们使用了`numpy`、`pandas`和`statsmodels`库。首先,我们从CSV文件中读取数据,并将自变量和因变量分别存储在`X`和`y`中。然后,我们使用`sm.add_constant()`函数为自变量添加常数列,以便拟合截距。接下来,我们使用`sm.OLS()`函数构建多元线性回归模型,并使用`fit()`方法拟合模型。最后,我们使用`summary()`方法打印回归结果,包括系数、标准误差、t值和p值等信息。
需要注意的是,上述代码中的`data.csv`是一个包含自变量和因变量的数据文件,你需要根据实际情况修改文件名和列名。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)